Details
-
Bug
-
Resolution: Fixed
-
Major
-
.master
-
None
-
Untriaged
-
Unknown
-
KV: Mar 30 - April 12
Description
As detected by ThreadSanitizer during a commit validation run:
SUMMARY: ThreadSanitizer: data race /usr/bin/../lib/gcc/x86_64-linux-gnu/4.9/../../../../include/c++/4.9/bits/stl_list.h:395 TapConnMap::shutdownAllConnections()
|
Log file: http://cv.jenkins.couchbase.com/job/ep-engine-threadsanitizer-watson/352/consoleFull
Patch is based off ep-engine SHA 3d47080
Details:
WARNING: ThreadSanitizer: data race (pid=102639)
|
Write of size 8 at 0x7d8400028088 by main thread (mutexes: write M213948):
|
#0 TapConnMap::shutdownAllConnections() /usr/bin/../lib/gcc/x86_64-linux-gnu/4.9/../../../../include/c++/4.9/bits/stl_list.h:395 (ep.so+0x000000044425)
|
#1 EvpDestroy(engine_interface*, bool) /home/couchbase/jenkins/workspace/ep-engine-threadsanitizer-watson/ep-engine/src/ep_engine.cc:2171 (ep.so+0x0000000b7dec)
|
#2 mock_destroy(engine_interface*, bool) /home/couchbase/jenkins/workspace/ep-engine-threadsanitizer-watson/memcached/programs/engine_testapp/engine_testapp.cc:101 (engine_testapp+0x0000004cd7f7)
|
#3 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /home/couchbase/jenkins/workspace/ep-engine-threadsanitizer-watson/memcached/programs/engine_testapp/engine_testapp.cc:998 (engine_testapp+0x0000004cd679)
|
#4 destroy_buckets(std::vector<BucketHolder, std::allocator<BucketHolder> >&) /home/couchbase/jenkins/workspace/ep-engine-threadsanitizer-watson/ep-engine/tests/ep_testsuite_common.cc:331 (ep_testsuite.so+0x00000004e4e5)
|
#5 test_multi_bucket_set_get(test*) /home/couchbase/jenkins/workspace/ep-engine-threadsanitizer-watson/ep-engine/tests/ep_testsuite.cc:5668 (ep_testsuite.so+0x000000041319)
|
#6 execute_test(test, char const*, char const*) /home/couchbase/jenkins/workspace/ep-engine-threadsanitizer-watson/memcached/programs/engine_testapp/engine_testapp.cc:1149 (engine_testapp+0x0000004cc635)
|
#7 __libc_start_main /build/buildd/eglibc-2.15/csu/libc-start.c:226 (libc.so.6+0x00000002176c)
|
|
Previous read of size 8 at 0x7d8400028088 by thread T18:
|
#0 ConnManager::run() /usr/bin/../lib/gcc/x86_64-linux-gnu/4.9/../../../../include/c++/4.9/bits/stl_list.h:882 (ep.so+0x00000004d912)
|
#1 ExecutorThread::run() /home/couchbase/jenkins/workspace/ep-engine-threadsanitizer-watson/ep-engine/src/executorthread.cc:115 (ep.so+0x0000000f9fe6)
|
#2 launch_executor_thread(void*) /home/couchbase/jenkins/workspace/ep-engine-threadsanitizer-watson/ep-engine/src/executorthread.cc:33 (ep.so+0x0000000f9b95)
|
#3 platform_thread_wrap(void*) /home/couchbase/jenkins/workspace/ep-engine-threadsanitizer-watson/platform/src/cb_pthreads.cc:54 (libplatform.so.0.1.0+0x00000000568b)
|
|
Location is heap block of size 4296 at 0x7d8400028000 allocated by main thread:
|
#0 operator new(unsigned long) <null> (engine_testapp+0x00000046442d)
|
#1 EventuallyPersistentEngine::initialize(char const*) /home/couchbase/jenkins/workspace/ep-engine-threadsanitizer-watson/ep-engine/src/ep_engine.cc:2124 (ep.so+0x0000000ba32c)
|
#2 EvpInitialize(engine_interface*, char const*) /home/couchbase/jenkins/workspace/ep-engine-threadsanitizer-watson/ep-engine/src/ep_engine.cc:143 (ep.so+0x0000000b7d38)
|
#3 init_engine_instance <null> (libmcd_util.so.1.0.0+0x0000000057ab)
|
#4 create_bucket(bool, char const*) /home/couchbase/jenkins/workspace/ep-engine-threadsanitizer-watson/memcached/programs/engine_testapp/engine_testapp.cc:983 (engine_testapp+0x0000004cd5e7)
|
#5 create_buckets(char const*, int, std::vector<BucketHolder, std::allocator<BucketHolder> >&) /home/couchbase/jenkins/workspace/ep-engine-threadsanitizer-watson/ep-engine/tests/ep_testsuite_common.cc:319 (ep_testsuite.so+0x00000004d6f4)
|
#6 test_multi_bucket_set_get(test*) /home/couchbase/jenkins/workspace/ep-engine-threadsanitizer-watson/ep-engine/tests/ep_testsuite.cc:5636 (ep_testsuite.so+0x000000040291)
|
#7 execute_test(test, char const*, char const*) /home/couchbase/jenkins/workspace/ep-engine-threadsanitizer-watson/memcached/programs/engine_testapp/engine_testapp.cc:1149 (engine_testapp+0x0000004cc635)
|
#8 __libc_start_main /build/buildd/eglibc-2.15/csu/libc-start.c:226 (libc.so.6+0x00000002176c)
|
|
Mutex M213948 (0x7d8400028030) created at:
|
#0 pthread_mutex_lock <null> (engine_testapp+0x000000486720)
|
#1 std::mutex::lock() /usr/bin/../lib/gcc/x86_64-linux-gnu/4.9/../../../../include/x86_64-linux-gnu/c++/4.9/bits/gthr-default.h:748 (ep.so+0x00000004324b)
|
#2 Warmup::initialize() /home/couchbase/jenkins/workspace/ep-engine-threadsanitizer-watson/ep-engine/src/warmup.cc:442 (ep.so+0x000000153150)
|
#3 WarmupInitialize::run() /home/couchbase/jenkins/workspace/ep-engine-threadsanitizer-watson/ep-engine/src/warmup.h:227 (ep.so+0x000000160fa5)
|
#4 ExecutorThread::run() /home/couchbase/jenkins/workspace/ep-engine-threadsanitizer-watson/ep-engine/src/executorthread.cc:115 (ep.so+0x0000000f9fe6)
|
#5 launch_executor_thread(void*) /home/couchbase/jenkins/workspace/ep-engine-threadsanitizer-watson/ep-engine/src/executorthread.cc:33 (ep.so+0x0000000f9b95)
|
#6 platform_thread_wrap(void*) /home/couchbase/jenkins/workspace/ep-engine-threadsanitizer-watson/platform/src/cb_pthreads.cc:54 (libplatform.so.0.1.0+0x00000000568b)
|
|
Thread T18 'mc:nonio_17' (tid=102659, running) created by main thread at:
|
#0 pthread_create <null> (engine_testapp+0x0000004678d1)
|
#1 cb_create_named_thread /home/couchbase/jenkins/workspace/ep-engine-threadsanitizer-watson/platform/src/cb_pthreads.cc:104 (libplatform.so.0.1.0+0x0000000054e5)
|
#2 ExecutorThread::start() /home/couchbase/jenkins/workspace/ep-engine-threadsanitizer-watson/ep-engine/src/executorthread.cc:46 (ep.so+0x0000000f9537)
|
#3 ExecutorPool::_startWorkers() /home/couchbase/jenkins/workspace/ep-engine-threadsanitizer-watson/ep-engine/src/executorpool.cc:536 (ep.so+0x0000000f366c)
|
#4 ExecutorPool::_registerTaskable(Taskable&) /home/couchbase/jenkins/workspace/ep-engine-threadsanitizer-watson/ep-engine/src/executorpool.cc:486 (ep.so+0x0000000f2509)
|
#5 ExecutorPool::registerTaskable(Taskable&) /home/couchbase/jenkins/workspace/ep-engine-threadsanitizer-watson/ep-engine/src/executorpool.cc:491 (ep.so+0x0000000f473e)
|
#6 EventuallyPersistentStore::EventuallyPersistentStore(EventuallyPersistentEngine&) /home/couchbase/jenkins/workspace/ep-engine-threadsanitizer-watson/ep-engine/src/ep.cc:301 (ep.so+0x00000008517a)
|
#7 EventuallyPersistentEngine::initialize(char const*) /home/couchbase/jenkins/workspace/ep-engine-threadsanitizer-watson/ep-engine/src/ep_engine.cc:2132 (ep.so+0x0000000ba3fe)
|
#8 EvpInitialize(engine_interface*, char const*) /home/couchbase/jenkins/workspace/ep-engine-threadsanitizer-watson/ep-engine/src/ep_engine.cc:143 (ep.so+0x0000000b7d38)
|
#9 init_engine_instance <null> (libmcd_util.so.1.0.0+0x0000000057ab)
|
#10 create_bucket(bool, char const*) /home/couchbase/jenkins/workspace/ep-engine-threadsanitizer-watson/memcached/programs/engine_testapp/engine_testapp.cc:983 (engine_testapp+0x0000004cd5e7)
|
#11 create_buckets(char const*, int, std::vector<BucketHolder, std::allocator<BucketHolder> >&) /home/couchbase/jenkins/workspace/ep-engine-threadsanitizer-watson/ep-engine/tests/ep_testsuite_common.cc:319 (ep_testsuite.so+0x00000004d6f4)
|
#12 test_multi_bucket_set_get(test*) /home/couchbase/jenkins/workspace/ep-engine-threadsanitizer-watson/ep-engine/tests/ep_testsuite.cc:5636 (ep_testsuite.so+0x000000040291)
|
#13 execute_test(test, char const*, char const*) /home/couchbase/jenkins/workspace/ep-engine-threadsanitizer-watson/memcached/programs/engine_testapp/engine_testapp.cc:1149 (engine_testapp+0x0000004cc635)
|
#14 __libc_start_main /build/buildd/eglibc-2.15/csu/libc-start.c:226 (libc.so.6+0x00000002176c)
|