16:47:27 ================== 16:47:27 WARNING: ThreadSanitizer: data race (pid=45945) 16:47:27 Write of size 8 at 0x7b94000028d0 by main thread: 16:47:27 #0 magma::Magma::Impl::SetFragmentationRatio(double) /home/couchbase/jenkins/workspace/kv_engine.threadsanitizer_master/magma/magma/db.cc:980 (ep-engine_ep_unit_tests+0x17898d2) 16:47:27 #1 magma::Magma::SetFragmentationRatio(double) /home/couchbase/jenkins/workspace/kv_engine.threadsanitizer_master/magma/magma/db.cc:998 (ep-engine_ep_unit_tests+0x1789b4d) 16:47:27 #2 MagmaMemoryTrackingProxy::SetFragmentationRatio(double) /home/couchbase/jenkins/workspace/kv_engine.threadsanitizer_master/kv_engine/engines/ep/src/kvstore/magma-kvstore/magma-memory-tracking-proxy.cc:244 (ep-engine_ep_unit_tests+0x561445) 16:47:27 #3 MagmaKVStore::setMagmaFragmentationPercentage(unsigned long) /home/couchbase/jenkins/workspace/kv_engine.threadsanitizer_master/kv_engine/engines/ep/src/kvstore/magma-kvstore/magma-kvstore.cc:3006 (ep-engine_ep_unit_tests+0x5cb463) 16:47:27 #4 MagmaKVStoreConfig::setMagmaFragmentationPercentage(unsigned long) /home/couchbase/jenkins/workspace/kv_engine.threadsanitizer_master/kv_engine/engines/ep/src/kvstore/magma-kvstore/magma-kvstore_config.cc:109 (ep-engine_ep_unit_tests+0x55ffc6) 16:47:27 #5 MagmaKVStoreConfig::ConfigChangeListener::sizeValueChanged(std::__cxx11::basic_string, std::allocator > const&, unsigned long) /home/couchbase/jenkins/workspace/kv_engine.threadsanitizer_master/kv_engine/engines/ep/src/kvstore/magma-kvstore/magma-kvstore_config.cc:27 (ep-engine_ep_unit_tests+0x581f3f) 16:47:27 #6 ValueChangedListener::valueChanged(std::__cxx11::basic_string, std::allocator > const&, unsigned long) ../kv_engine/engines/ep/src/configuration.h:35 (ep-engine_ep_unit_tests+0x62228e) 16:47:27 #7 void Configuration::setParameter(std::__cxx11::basic_string, std::allocator > const&, unsigned long) /home/couchbase/jenkins/workspace/kv_engine.threadsanitizer_master/kv_engine/engines/ep/src/configuration.cc:179 (ep-engine_ep_unit_tests+0x5e710d) 16:47:27 #8 Configuration::setMagmaFragmentationPercentage(unsigned long const&) kv_engine/engines/ep/src/generated_configuration.cc:611 (ep-engine_ep_unit_tests+0x5b23e1) 16:47:27 #9 EventuallyPersistentEngine::setFlushParam(std::__cxx11::basic_string, std::allocator > const&, std::__cxx11::basic_string, std::allocator > const&, std::__cxx11::basic_string, std::allocator >&) /home/couchbase/jenkins/workspace/kv_engine.threadsanitizer_master/kv_engine/engines/ep/src/ep_engine.cc:816 (ep-engine_ep_unit_tests+0x7ef01e) 16:47:27 #10 EPEngineParamTest_DynamicConfigValuesModifiable_Test::TestBody()::$_2::operator()(std::__cxx11::basic_string, std::allocator > const&, bool, std::__cxx11::basic_string, std::allocator >) const ../kv_engine/engines/ep/tests/module_tests/evp_engine_test.cc:264 (ep-engine_ep_unit_tests+0x11195c6) 16:47:27 #11 void std::__invoke_impl, std::allocator > const&, bool, std::__cxx11::basic_string, std::allocator > >(std::__invoke_other, EPEngineParamTest_DynamicConfigValuesModifiable_Test::TestBody()::$_2&, std::__cxx11::basic_string, std::allocator > const&, bool&&, std::__cxx11::basic_string, std::allocator >&&) /opt/gcc-10.2.0/lib/gcc/x86_64-pc-linux-gnu/10.2.0/../../../../include/c++/10.2.0/bits/invoke.h:60 (ep-engine_ep_unit_tests+0x11194e4) 16:47:27 #12 std::enable_if, std::allocator > const&, bool, std::__cxx11::basic_string, std::allocator > >, void>::type std::__invoke_r, std::allocator > const&, bool, std::__cxx11::basic_string, std::allocator > >(EPEngineParamTest_DynamicConfigValuesModifiable_Test::TestBody()::$_2&, std::__cxx11::basic_string, std::allocator > const&, bool&&, std::__cxx11::basic_string, std::allocator >&&) /opt/gcc-10.2.0/lib/gcc/x86_64-pc-linux-gnu/10.2.0/../../../../include/c++/10.2.0/bits/invoke.h:110 (ep-engine_ep_unit_tests+0x1119418) 16:47:27 #13 std::_Function_handler, std::allocator > const&, bool, std::__cxx11::basic_string, std::allocator >), EPEngineParamTest_DynamicConfigValuesModifiable_Test::TestBody()::$_2>::_M_invoke(std::_Any_data const&, std::__cxx11::basic_string, std::allocator > const&, bool&&, std::__cxx11::basic_string, std::allocator >&&) /opt/gcc-10.2.0/lib/gcc/x86_64-pc-linux-gnu/10.2.0/../../../../include/c++/10.2.0/bits/std_function.h:291 (ep-engine_ep_unit_tests+0x11192c8) 16:47:27 #14 std::function, std::allocator > const&, bool, std::__cxx11::basic_string, std::allocator >)>::operator()(std::__cxx11::basic_string, std::allocator > const&, bool, std::__cxx11::basic_string, std::allocator >) const /opt/gcc-10.2.0/lib/gcc/x86_64-pc-linux-gnu/10.2.0/../../../../include/c++/10.2.0/bits/std_function.h:622 (ep-engine_ep_unit_tests+0x5e7b87) 16:47:27 #15 Configuration::visit(std::function, std::allocator > const&, bool, std::__cxx11::basic_string, std::allocator >)>) const /home/couchbase/jenkins/workspace/kv_engine.threadsanitizer_master/kv_engine/engines/ep/src/configuration.cc:393 (ep-engine_ep_unit_tests+0x5aad34) 16:47:27 #16 EPEngineParamTest_DynamicConfigValuesModifiable_Test::TestBody() ../kv_engine/engines/ep/tests/module_tests/evp_engine_test.cc:257 (ep-engine_ep_unit_tests+0x1116fe0) 16:47:27 #17 virtual thunk to EPEngineParamTest_DynamicConfigValuesModifiable_Test::TestBody() ../kv_engine/engines/ep/tests/module_tests/evp_engine_test.cc (ep-engine_ep_unit_tests+0x11170b0) 16:47:27 #18 void testing::internal::HandleSehExceptionsInMethodIfSupported(testing::Test*, void (testing::Test::*)(), char const*) /home/couchbase/jenkins/workspace/cbdeps-platform-build-old/deps/packages/build/googletest/googletest-prefix/src/googletest/googletest/src/gtest.cc:2607 (ep-engine_ep_unit_tests+0x16e9b39) 16:47:27 #19 void testing::internal::HandleExceptionsInMethodIfSupported(testing::Test*, void (testing::Test::*)(), char const*) /home/couchbase/jenkins/workspace/cbdeps-platform-build-old/deps/packages/build/googletest/googletest-prefix/src/googletest/googletest/src/gtest.cc:2643 (ep-engine_ep_unit_tests+0x16e9b39) 16:47:27 #20 main ../kv_engine/engines/ep/tests/module_tests/ep_unit_tests_main.cc:172 (ep-engine_ep_unit_tests+0x10ee248) 16:47:27 16:47:27 Previous read of size 8 at 0x7b94000028d0 by thread T15 (mutexes: write M998527154121605920, write M685527443875835272): 16:47:27 #0 magma::KVStoreConfig::GetSeqTreeConfig() /home/couchbase/jenkins/workspace/kv_engine.threadsanitizer_master/magma/magma/kvstore/config.cc:160 (ep-engine_ep_unit_tests+0x18d2fea) 16:47:27 #1 magma::KVStore::KVStore(magma::KVStoreConfig&, unsigned short, unsigned int) /home/couchbase/jenkins/workspace/kv_engine.threadsanitizer_master/magma/magma/kvstore/kvstore.cc:77 (ep-engine_ep_unit_tests+0x1845dff) 16:47:27 #2 void __gnu_cxx::new_allocator::construct(magma::KVStore*, magma::KVStoreConfig&, unsigned short const&, unsigned int const&) /opt/gcc-10.2.0/lib/gcc/x86_64-pc-linux-gnu/10.2.0/../../../../include/c++/10.2.0/ext/new_allocator.h:150 (ep-engine_ep_unit_tests+0x17bf8c3) 16:47:27 #3 void std::allocator_traits >::construct(std::allocator&, magma::KVStore*, magma::KVStoreConfig&, unsigned short const&, unsigned int const&) /opt/gcc-10.2.0/lib/gcc/x86_64-pc-linux-gnu/10.2.0/../../../../include/c++/10.2.0/bits/alloc_traits.h:512 (ep-engine_ep_unit_tests+0x17bf685) 16:47:27 #4 std::_Sp_counted_ptr_inplace, (__gnu_cxx::_Lock_policy)2>::_Sp_counted_ptr_inplace(std::allocator, magma::KVStoreConfig&, unsigned short const&, unsigned int const&) /opt/gcc-10.2.0/lib/gcc/x86_64-pc-linux-gnu/10.2.0/../../../../include/c++/10.2.0/bits/shared_ptr_base.h:551 (ep-engine_ep_unit_tests+0x17bf34d) 16:47:27 #5 std::__shared_count<(__gnu_cxx::_Lock_policy)2>::__shared_count, magma::KVStoreConfig&, unsigned short const&, unsigned int const&>(magma::KVStore*&, std::_Sp_alloc_shared_tag >, magma::KVStoreConfig&, unsigned short const&, unsigned int const&) /opt/gcc-10.2.0/lib/gcc/x86_64-pc-linux-gnu/10.2.0/../../../../include/c++/10.2.0/bits/shared_ptr_base.h:683 (ep-engine_ep_unit_tests+0x17bf0db) 16:47:27 #6 std::__shared_ptr::__shared_ptr, magma::KVStoreConfig&, unsigned short const&, unsigned int const&>(std::_Sp_alloc_shared_tag >, magma::KVStoreConfig&, unsigned short const&, unsigned int const&) /opt/gcc-10.2.0/lib/gcc/x86_64-pc-linux-gnu/10.2.0/../../../../include/c++/10.2.0/bits/shared_ptr_base.h:1371 (ep-engine_ep_unit_tests+0x17beffd) 16:47:27 #7 std::shared_ptr::shared_ptr, magma::KVStoreConfig&, unsigned short const&, unsigned int const&>(std::_Sp_alloc_shared_tag >, magma::KVStoreConfig&, unsigned short const&, unsigned int const&) /opt/gcc-10.2.0/lib/gcc/x86_64-pc-linux-gnu/10.2.0/../../../../include/c++/10.2.0/bits/shared_ptr.h:408 (ep-engine_ep_unit_tests+0x17bef65) 16:47:27 #8 std::shared_ptr std::allocate_shared, magma::KVStoreConfig&, unsigned short const&, unsigned int const&>(std::allocator const&, magma::KVStoreConfig&, unsigned short const&, unsigned int const&) /opt/gcc-10.2.0/lib/gcc/x86_64-pc-linux-gnu/10.2.0/../../../../include/c++/10.2.0/bits/shared_ptr.h:859 (ep-engine_ep_unit_tests+0x17bee85) 16:47:27 #9 std::shared_ptr std::make_shared(magma::KVStoreConfig&, unsigned short const&, unsigned int const&) /opt/gcc-10.2.0/lib/gcc/x86_64-pc-linux-gnu/10.2.0/../../../../include/c++/10.2.0/bits/shared_ptr.h:875 (ep-engine_ep_unit_tests+0x17bebfd) 16:47:27 #10 magma::Magma::Impl::createKVStore(unsigned short, unsigned int, std::shared_ptr&)::$_1::operator()() const /home/couchbase/jenkins/workspace/kv_engine.threadsanitizer_master/magma/magma/db.cc:252 (ep-engine_ep_unit_tests+0x179c40d) 16:47:27 #11 std::tuple > std::__invoke_impl >, magma::Magma::Impl::createKVStore(unsigned short, unsigned int, std::shared_ptr&)::$_1&>(std::__invoke_other, magma::Magma::Impl::createKVStore(unsigned short, unsigned int, std::shared_ptr&)::$_1&) /opt/gcc-10.2.0/lib/gcc/x86_64-pc-linux-gnu/10.2.0/../../../../include/c++/10.2.0/bits/invoke.h:60 (ep-engine_ep_unit_tests+0x179c1a6) 16:47:27 #12 std::enable_if >, magma::Magma::Impl::createKVStore(unsigned short, unsigned int, std::shared_ptr&)::$_1&>, std::tuple > >::type std::__invoke_r >, magma::Magma::Impl::createKVStore(unsigned short, unsigned int, std::shared_ptr&)::$_1&>(magma::Magma::Impl::createKVStore(unsigned short, unsigned int, std::shared_ptr&)::$_1&) /opt/gcc-10.2.0/lib/gcc/x86_64-pc-linux-gnu/10.2.0/../../../../include/c++/10.2.0/bits/invoke.h:113 (ep-engine_ep_unit_tests+0x179c126) 16:47:27 #13 std::_Function_handler > (), magma::Magma::Impl::createKVStore(unsigned short, unsigned int, std::shared_ptr&)::$_1>::_M_invoke(std::_Any_data const&) /opt/gcc-10.2.0/lib/gcc/x86_64-pc-linux-gnu/10.2.0/../../../../include/c++/10.2.0/bits/std_function.h:291 (ep-engine_ep_unit_tests+0x179bf96) 16:47:27 #14 std::function > ()>::operator()() const /opt/gcc-10.2.0/lib/gcc/x86_64-pc-linux-gnu/10.2.0/../../../../include/c++/10.2.0/bits/std_function.h:622 (ep-engine_ep_unit_tests+0x18dab41) 16:47:27 #15 magma::KVStoreSet::CreateKVStore(std::function > ()>) /home/couchbase/jenkins/workspace/kv_engine.threadsanitizer_master/magma/magma/kvstore_set.cc:27 (ep-engine_ep_unit_tests+0x18cfbdb) 16:47:27 #16 magma::Magma::Impl::createKVStore(unsigned short, unsigned int, std::shared_ptr&) /home/couchbase/jenkins/workspace/kv_engine.threadsanitizer_master/magma/magma/db.cc:259 (ep-engine_ep_unit_tests+0x1784c8a) 16:47:27 #17 magma::Magma::Impl::WriteDocs(unsigned short, std::vector > const&, unsigned int, std::function, std::function >&)>) /home/couchbase/jenkins/workspace/kv_engine.threadsanitizer_master/magma/magma/db_write.cc:41 (ep-engine_ep_unit_tests+0x179529a) 16:47:27 #18 magma::Magma::WriteDocs(unsigned short, std::vector > const&, unsigned int, std::function, std::function >&)>) /home/couchbase/jenkins/workspace/kv_engine.threadsanitizer_master/magma/magma/db_write.cc:59 (ep-engine_ep_unit_tests+0x17954a5) 16:47:27 #19 MagmaMemoryTrackingProxy::WriteDocs(unsigned short, std::vector > const&, unsigned int, std::function, std::function >&)>) /home/couchbase/jenkins/workspace/kv_engine.threadsanitizer_master/kv_engine/engines/ep/src/kvstore/magma-kvstore/magma-memory-tracking-proxy.cc:276 (ep-engine_ep_unit_tests+0x5616e1) 16:47:27 #20 MagmaKVStore::writeVBStateToDisk(Vbid, vbucket_state const&) /home/couchbase/jenkins/workspace/kv_engine.threadsanitizer_master/kv_engine/engines/ep/src/kvstore/magma-kvstore/magma-kvstore.cc:2952 (ep-engine_ep_unit_tests+0x5cda20) 16:47:27 #21 MagmaKVStore::snapshotVBucket(Vbid, vbucket_state const&) /home/couchbase/jenkins/workspace/kv_engine.threadsanitizer_master/kv_engine/engines/ep/src/kvstore/magma-kvstore/magma-kvstore.cc:1025 (ep-engine_ep_unit_tests+0x5cd7eb) 16:47:27 #22 EPBucket::flushVBucket_UNLOCKED(LockedVBucketPtr) /home/couchbase/jenkins/workspace/kv_engine.threadsanitizer_master/kv_engine/engines/ep/src/ep_bucket.cc:765 (ep-engine_ep_unit_tests+0x7dc0e2) 16:47:27 #23 EPBucket::flushVBucket(Vbid) /home/couchbase/jenkins/workspace/kv_engine.threadsanitizer_master/kv_engine/engines/ep/src/ep_bucket.cc:378 (ep-engine_ep_unit_tests+0x7db004) 16:47:27 #24 Flusher::flushVB() /home/couchbase/jenkins/workspace/kv_engine.threadsanitizer_master/kv_engine/engines/ep/src/flusher.cc:285 (ep-engine_ep_unit_tests+0x7c1069) 16:47:27 #25 Flusher::step(GlobalTask*) /home/couchbase/jenkins/workspace/kv_engine.threadsanitizer_master/kv_engine/engines/ep/src/flusher.cc:200 (ep-engine_ep_unit_tests+0x7c0cc5) 16:47:27 #26 FlusherTask::run() /home/couchbase/jenkins/workspace/kv_engine.threadsanitizer_master/kv_engine/engines/ep/src/tasks.cc:28 (ep-engine_ep_unit_tests+0x6ed3c2) 16:47:27 #27 GlobalTask::execute() /home/couchbase/jenkins/workspace/kv_engine.threadsanitizer_master/kv_engine/executor/globaltask.cc:68 (ep-engine_ep_unit_tests+0x168f219) 16:47:27 #28 FollyExecutorPool::TaskProxy::scheduleViaCPUPool()::{lambda()#2}::operator()() const /home/couchbase/jenkins/workspace/kv_engine.threadsanitizer_master/kv_engine/executor/folly_executorpool.cc:189 (ep-engine_ep_unit_tests+0x16ad34d) 16:47:27 #29 void folly::detail::function::FunctionTraits::callSmall(folly::detail::function::Data&) tlm/deps/folly.exploded/include/folly/Function.h:387 (ep-engine_ep_unit_tests+0x16ad095) 16:47:27 #30 folly::detail::function::FunctionTraits::operator()() folly/Function.h:416 (ep-engine_ep_unit_tests+0x1970573) 16:47:27 #31 folly::ThreadPoolExecutor::runTask(std::shared_ptr const&, folly::ThreadPoolExecutor::Task&&) folly/executors/ThreadPoolExecutor.cpp:97 (ep-engine_ep_unit_tests+0x1970573) 16:47:27 #32 folly::CPUThreadPoolExecutor::threadRun(std::shared_ptr) folly/executors/CPUThreadPoolExecutor.cpp:265 (ep-engine_ep_unit_tests+0x194d000) 16:47:27 #33 void std::__invoke_impl), folly::ThreadPoolExecutor*&, std::shared_ptr&>(std::__invoke_memfun_deref, void (folly::ThreadPoolExecutor::*&)(std::shared_ptr), folly::ThreadPoolExecutor*&, std::shared_ptr&) /usr/bin/../lib/gcc/x86_64-linux-gnu/7.5.0/../../../../include/c++/7.5.0/bits/invoke.h:73 (ep-engine_ep_unit_tests+0x1977414) 16:47:27 #34 std::__invoke_result), folly::ThreadPoolExecutor*&, std::shared_ptr&>::type std::__invoke), folly::ThreadPoolExecutor*&, std::shared_ptr&>(void (folly::ThreadPoolExecutor::*&)(std::shared_ptr), folly::ThreadPoolExecutor*&, std::shared_ptr&) /usr/bin/../lib/gcc/x86_64-linux-gnu/7.5.0/../../../../include/c++/7.5.0/bits/invoke.h:95 (ep-engine_ep_unit_tests+0x19771d5) 16:47:27 #35 void std::_Bind))(std::shared_ptr)>::__call(std::tuple<>&&, std::_Index_tuple<0ul, 1ul>) /usr/bin/../lib/gcc/x86_64-linux-gnu/7.5.0/../../../../include/c++/7.5.0/functional:467 (ep-engine_ep_unit_tests+0x19771d5) 16:47:27 #36 void std::_Bind))(std::shared_ptr)>::operator()<, void>() /usr/bin/../lib/gcc/x86_64-linux-gnu/7.5.0/../../../../include/c++/7.5.0/functional:549 (ep-engine_ep_unit_tests+0x19771d5) 16:47:27 #37 void folly::detail::function::FunctionTraits::callBig))(std::shared_ptr)> >(folly::detail::function::Data&) folly/Function.h:401 (ep-engine_ep_unit_tests+0x19771d5) 16:47:27 #38 folly::detail::function::FunctionTraits::operator()() tlm/deps/folly.exploded/include/folly/Function.h:416 (ep-engine_ep_unit_tests+0x16a5bcc) 16:47:27 #39 CBRegisteredThreadFactory::newThread(folly::Function&&)::{lambda()#1}::operator()() /home/couchbase/jenkins/workspace/kv_engine.threadsanitizer_master/kv_engine/executor/folly_executorpool.cc:47 (ep-engine_ep_unit_tests+0x16a5ab2) 16:47:27 #40 void folly::detail::function::FunctionTraits::callBig&&)::{lambda()#1}>(folly::detail::function::Data&) tlm/deps/folly.exploded/include/folly/Function.h:401 (ep-engine_ep_unit_tests+0x16a59bd) 16:47:27 #41 folly::detail::function::FunctionTraits::operator()() tlm/deps/folly.exploded/include/folly/Function.h:416 (ep-engine_ep_unit_tests+0x16a5bcc) 16:47:27 #42 folly::PriorityThreadFactory::newThread(folly::Function&&)::{lambda()#1}::operator()() tlm/deps/folly.exploded/include/folly/executors/thread_factory/PriorityThreadFactory.h:54 (ep-engine_ep_unit_tests+0x16a8a28) 16:47:27 #43 void folly::detail::function::FunctionTraits::callBig&&)::{lambda()#1}>(folly::detail::function::Data&) tlm/deps/folly.exploded/include/folly/Function.h:401 (ep-engine_ep_unit_tests+0x16a88dd) 16:47:27 #44 folly::detail::function::FunctionTraits::operator()() tlm/deps/folly.exploded/include/folly/Function.h:416 (ep-engine_ep_unit_tests+0x16a5bcc) 16:47:27 #45 folly::NamedThreadFactory::newThread(folly::Function&&)::{lambda()#1}::operator()() tlm/deps/folly.exploded/include/folly/executors/thread_factory/NamedThreadFactory.h:40 (ep-engine_ep_unit_tests+0x16a82a3) 16:47:27 #46 void std::__invoke_impl&&)::{lambda()#1}>(std::__invoke_other, folly::NamedThreadFactory::newThread(folly::Function&&)::{lambda()#1}&&) /opt/gcc-10.2.0/lib/gcc/x86_64-pc-linux-gnu/10.2.0/../../../../include/c++/10.2.0/bits/invoke.h:60 (ep-engine_ep_unit_tests+0x16a824d) 16:47:27 #47 std::__invoke_result&&)::{lambda()#1}>::type std::__invoke&&)::{lambda()#1}>(std::__invoke_result&&, (folly::NamedThreadFactory::newThread(folly::Function&&)::{lambda()#1}&&)...) /opt/gcc-10.2.0/lib/gcc/x86_64-pc-linux-gnu/10.2.0/../../../../include/c++/10.2.0/bits/invoke.h:95 (ep-engine_ep_unit_tests+0x16a81bd) 16:47:27 #48 void std::thread::_Invoker&&)::{lambda()#1}> >::_M_invoke<0ul>(std::_Index_tuple<0ul>) /opt/gcc-10.2.0/lib/gcc/x86_64-pc-linux-gnu/10.2.0/../../../../include/c++/10.2.0/thread:264 (ep-engine_ep_unit_tests+0x16a8185) 16:47:27 #49 std::thread::_Invoker&&)::{lambda()#1}> >::operator()() /opt/gcc-10.2.0/lib/gcc/x86_64-pc-linux-gnu/10.2.0/../../../../include/c++/10.2.0/thread:271 (ep-engine_ep_unit_tests+0x16a8145) 16:47:27 #50 std::thread::_State_impl&&)::{lambda()#1}> > >::_M_run() /opt/gcc-10.2.0/lib/gcc/x86_64-pc-linux-gnu/10.2.0/../../../../include/c++/10.2.0/thread:215 (ep-engine_ep_unit_tests+0x16a8009) 16:47:27 #51 execute_native_thread_routine /tmp/deploy/objdir/../gcc-10.2.0/libstdc++-v3/src/c++11/thread.cc:80 (libstdc++.so.6+0xd62ef) 16:47:27 16:47:27 Location is heap block of size 10192 at 0x7b9400002800 allocated by main thread: 16:47:27 #0 operator new(unsigned long) (libtsan.so.0+0x87c5c) 16:47:27 #1 magma::Magma::Magma(magma::Magma::Config&) /home/couchbase/jenkins/workspace/kv_engine.threadsanitizer_master/magma/magma/db.cc:113 (ep-engine_ep_unit_tests+0x1783d9e) 16:47:27 #2 std::_MakeUniq::__single_object std::make_unique(magma::Magma::Config&) /opt/gcc-10.2.0/lib/gcc/x86_64-pc-linux-gnu/10.2.0/../../../../include/c++/10.2.0/bits/unique_ptr.h:962 (ep-engine_ep_unit_tests+0x56e024) 16:47:27 #3 MagmaMemoryTrackingProxy::MagmaMemoryTrackingProxy(magma::Magma::Config&) /home/couchbase/jenkins/workspace/kv_engine.threadsanitizer_master/kv_engine/engines/ep/src/kvstore/magma-kvstore/magma-memory-tracking-proxy.cc:56 (ep-engine_ep_unit_tests+0x560455) 16:47:27 #4 std::_MakeUniq::__single_object std::make_unique(magma::Magma::Config&) /opt/gcc-10.2.0/lib/gcc/x86_64-pc-linux-gnu/10.2.0/../../../../include/c++/10.2.0/bits/unique_ptr.h:962 (ep-engine_ep_unit_tests+0x5f5834) 16:47:27 #5 MagmaKVStore::MagmaKVStore(MagmaKVStoreConfig&) /home/couchbase/jenkins/workspace/kv_engine.threadsanitizer_master/kv_engine/engines/ep/src/kvstore/magma-kvstore/magma-kvstore.cc:543 (ep-engine_ep_unit_tests+0x5caed3) 16:47:27 #6 std::_MakeUniq::__single_object std::make_unique(MagmaKVStoreConfig&) /opt/gcc-10.2.0/lib/gcc/x86_64-pc-linux-gnu/10.2.0/../../../../include/c++/10.2.0/bits/unique_ptr.h:962 (ep-engine_ep_unit_tests+0x751c64) 16:47:27 #7 KVStoreFactory::create(KVStoreConfig&) /home/couchbase/jenkins/workspace/kv_engine.threadsanitizer_master/kv_engine/engines/ep/src/kvstore/kvstore.cc:196 (ep-engine_ep_unit_tests+0x72c142) 16:47:27 #8 KVShard::KVShard(EventuallyPersistentEngine&, unsigned short) /home/couchbase/jenkins/workspace/kv_engine.threadsanitizer_master/kv_engine/engines/ep/src/kvshard.cc:45 (ep-engine_ep_unit_tests+0x714a13) 16:47:27 #9 std::_MakeUniq::__single_object std::make_unique(EventuallyPersistentEngine&, unsigned long&) /opt/gcc-10.2.0/lib/gcc/x86_64-pc-linux-gnu/10.2.0/../../../../include/c++/10.2.0/bits/unique_ptr.h:962 (ep-engine_ep_unit_tests+0x697154) 16:47:27 #10 VBucketMap::VBucketMap(Configuration&, KVBucket&) /home/couchbase/jenkins/workspace/kv_engine.threadsanitizer_master/kv_engine/engines/ep/src/vbucketmap.cc:25 (ep-engine_ep_unit_tests+0x6817bd) 16:47:27 #11 KVBucket::KVBucket(EventuallyPersistentEngine&) /home/couchbase/jenkins/workspace/kv_engine.threadsanitizer_master/kv_engine/engines/ep/src/kv_bucket.cc:283 (ep-engine_ep_unit_tests+0x73974d) 16:47:27 #12 EPBucket::EPBucket(EventuallyPersistentEngine&) /home/couchbase/jenkins/workspace/kv_engine.threadsanitizer_master/kv_engine/engines/ep/src/ep_bucket.cc:244 (ep-engine_ep_unit_tests+0x7da0ce) 16:47:27 #13 std::_MakeUniq::__single_object std::make_unique(EventuallyPersistentEngine&) /opt/gcc-10.2.0/lib/gcc/x86_64-pc-linux-gnu/10.2.0/../../../../include/c++/10.2.0/bits/unique_ptr.h:962 (ep-engine_ep_unit_tests+0x81f504) 16:47:27 #14 EventuallyPersistentEngine::makeBucket(Configuration&) /home/couchbase/jenkins/workspace/kv_engine.threadsanitizer_master/kv_engine/engines/ep/src/ep_engine.cc:6705 (ep-engine_ep_unit_tests+0x7f9b4b) 16:47:27 #15 EventuallyPersistentEngine::initialize(char const*) /home/couchbase/jenkins/workspace/kv_engine.threadsanitizer_master/kv_engine/engines/ep/src/ep_engine.cc:2044 (ep-engine_ep_unit_tests+0x7f931e) 16:47:27 #16 EventuallyPersistentEngineTest::SetUp() ../kv_engine/engines/ep/tests/module_tests/evp_engine_test.cc:78 (ep-engine_ep_unit_tests+0x1113ab9) 16:47:27 #17 EPEngineParamTest::SetUp() ../kv_engine/engines/ep/tests/module_tests/evp_engine_test.h:112 (ep-engine_ep_unit_tests+0xf1e661) 16:47:27 #18 virtual thunk to EPEngineParamTest::SetUp() ../kv_engine/engines/ep/tests/module_tests/evp_engine_test.h (ep-engine_ep_unit_tests+0xf1e6b0) 16:47:27 #19 void testing::internal::HandleSehExceptionsInMethodIfSupported(testing::Test*, void (testing::Test::*)(), char const*) /home/couchbase/jenkins/workspace/cbdeps-platform-build-old/deps/packages/build/googletest/googletest-prefix/src/googletest/googletest/src/gtest.cc:2607 (ep-engine_ep_unit_tests+0x16e9b39) 16:47:27 #20 void testing::internal::HandleExceptionsInMethodIfSupported(testing::Test*, void (testing::Test::*)(), char const*) /home/couchbase/jenkins/workspace/cbdeps-platform-build-old/deps/packages/build/googletest/googletest-prefix/src/googletest/googletest/src/gtest.cc:2643 (ep-engine_ep_unit_tests+0x16e9b39) 16:47:27 #21 main ../kv_engine/engines/ep/tests/module_tests/ep_unit_tests_main.cc:172 (ep-engine_ep_unit_tests+0x10ee248) 16:47:27 16:47:27 Mutex M998527154121605920 is already destroyed. 16:47:27 16:47:27 Mutex M685527443875835272 is already destroyed. 16:47:27 16:47:27 Thread T15 'WriterPool2' (tid=46274, running) created by main thread at: 16:47:27 #0 pthread_create (libtsan.so.0+0x5be62) 16:47:27 #1 __gthread_create /tmp/deploy/objdir/x86_64-pc-linux-gnu/libstdc++-v3/include/x86_64-pc-linux-gnu/bits/gthr-default.h:663 (libstdc++.so.6+0xd6564) 16:47:27 #2 std::thread::_M_start_thread(std::unique_ptr >, void (*)()) /tmp/deploy/objdir/../gcc-10.2.0/libstdc++-v3/src/c++11/thread.cc:135 (libstdc++.so.6+0xd6564) 16:47:27 #3 folly::NamedThreadFactory::newThread(folly::Function&&) tlm/deps/folly.exploded/include/folly/executors/thread_factory/NamedThreadFactory.h:37 (ep-engine_ep_unit_tests+0x16a75b2) 16:47:27 #4 folly::PriorityThreadFactory::newThread(folly::Function&&) tlm/deps/folly.exploded/include/folly/executors/thread_factory/PriorityThreadFactory.h:49 (ep-engine_ep_unit_tests+0x16a868d) 16:47:27 #5 CBPriorityThreadFactory::newThread(folly::Function&&) /home/couchbase/jenkins/workspace/kv_engine.threadsanitizer_master/kv_engine/executor/folly_executorpool.cc:70 (ep-engine_ep_unit_tests+0x16a6a61) 16:47:27 #6 CBRegisteredThreadFactory::newThread(folly::Function&&) /home/couchbase/jenkins/workspace/kv_engine.threadsanitizer_master/kv_engine/executor/folly_executorpool.cc:42 (ep-engine_ep_unit_tests+0x16a55a7) 16:47:27 #7 folly::ThreadPoolExecutor::addThreads(unsigned long) folly/executors/ThreadPoolExecutor.cpp:215 (ep-engine_ep_unit_tests+0x19714f6) 16:47:27 #8 folly::ThreadPoolExecutor::setNumThreads(unsigned long) folly/executors/ThreadPoolExecutor.cpp:197 (ep-engine_ep_unit_tests+0x197108d) 16:47:27 #9 folly::CPUThreadPoolExecutor::CPUThreadPoolExecutor(unsigned long, std::shared_ptr) folly/executors/CPUThreadPoolExecutor.cpp:81 (ep-engine_ep_unit_tests+0x194974e) 16:47:27 #10 std::_MakeUniq::__single_object std::make_unique >(unsigned long&, std::shared_ptr&&) /opt/gcc-10.2.0/lib/gcc/x86_64-pc-linux-gnu/10.2.0/../../../../include/c++/10.2.0/bits/unique_ptr.h:962 (ep-engine_ep_unit_tests+0x16a20cb) 16:47:27 #11 FollyExecutorPool::FollyExecutorPool(unsigned long, ThreadPoolConfig::ThreadCount, ThreadPoolConfig::ThreadCount, unsigned long, unsigned long) /home/couchbase/jenkins/workspace/kv_engine.threadsanitizer_master/kv_engine/executor/folly_executorpool.cc:742 (ep-engine_ep_unit_tests+0x168fd70) 16:47:27 #12 std::_MakeUniq::__single_object std::make_unique(unsigned long&, ThreadPoolConfig::ThreadCount&, ThreadPoolConfig::ThreadCount&, unsigned long&, unsigned long&) /opt/gcc-10.2.0/lib/gcc/x86_64-pc-linux-gnu/10.2.0/../../../../include/c++/10.2.0/bits/unique_ptr.h:962 (ep-engine_ep_unit_tests+0x16a1743) 16:47:27 #13 ExecutorPool::create(ExecutorPool::Backend, unsigned long, ThreadPoolConfig::ThreadCount, ThreadPoolConfig::ThreadCount, unsigned long, unsigned long) /home/couchbase/jenkins/workspace/kv_engine.threadsanitizer_master/kv_engine/executor/executorpool.cc:39 (ep-engine_ep_unit_tests+0x168f86e) 16:47:27 #14 EventuallyPersistentEngineTest::SetUp() ../kv_engine/engines/ep/tests/module_tests/evp_engine_test.cc:50 (ep-engine_ep_unit_tests+0x11137d8) 16:47:27 #15 EPEngineParamTest::SetUp() ../kv_engine/engines/ep/tests/module_tests/evp_engine_test.h:112 (ep-engine_ep_unit_tests+0xf1e661) 16:47:27 #16 virtual thunk to EPEngineParamTest::SetUp() ../kv_engine/engines/ep/tests/module_tests/evp_engine_test.h (ep-engine_ep_unit_tests+0xf1e6b0) 16:47:27 #17 void testing::internal::HandleSehExceptionsInMethodIfSupported(testing::Test*, void (testing::Test::*)(), char const*) /home/couchbase/jenkins/workspace/cbdeps-platform-build-old/deps/packages/build/googletest/googletest-prefix/src/googletest/googletest/src/gtest.cc:2607 (ep-engine_ep_unit_tests+0x16e9b39) 16:47:27 #18 void testing::internal::HandleExceptionsInMethodIfSupported(testing::Test*, void (testing::Test::*)(), char const*) /home/couchbase/jenkins/workspace/cbdeps-platform-build-old/deps/packages/build/googletest/googletest-prefix/src/googletest/googletest/src/gtest.cc:2643 (ep-engine_ep_unit_tests+0x16e9b39) 16:47:27 #19 main ../kv_engine/engines/ep/tests/module_tests/ep_unit_tests_main.cc:172 (ep-engine_ep_unit_tests+0x10ee248) 16:47:27 16:47:27 SUMMARY: ThreadSanitizer: data race /home/couchbase/jenkins/workspace/kv_engine.threadsanitizer_master/magma/magma/db.cc:980 in magma::Magma::Impl::SetFragmentationRatio(double)