{noformat} 11:56:48 WARNING: ThreadSanitizer: data race (pid=28207) 11:56:48 Write of size 8 at 0x7b4400001a00 by thread T21: 11:56:48 #0 cb::NonNegativeCounter::fetch_sub(long) ../platform/include/platform/non_negative_counter.h:142 (ep_testsuite+0x5bd248) 11:56:48 #1 cb::NonNegativeCounter::operator--() ../platform/include/platform/non_negative_counter.h:175 (ep_testsuite+0x9a535d) 11:56:48 #2 BasicLinkedList::purgeListElem(boost::intrusive::list_iterator, &OrderedStoredValue::seqno_hook>, false>, bool, bool) /home/couchbase/jenkins/workspace/kv_engine.threadsanitizer_master/kv_engine/engines/ep/src/linked_list.cc:412 (ep_testsuite+0xa948c1) 11:56:48 #3 BasicLinkedList::purgeTombstones(long, std::function, std::function) /home/couchbase/jenkins/workspace/kv_engine.threadsanitizer_master/kv_engine/engines/ep/src/linked_list.cc:280 (ep_testsuite+0xa94342) 11:56:48 #4 EphemeralVBucket::purgeStaleItems(std::function) /home/couchbase/jenkins/workspace/kv_engine.threadsanitizer_master/kv_engine/engines/ep/src/ephemeral_vb.cc:370 (ep_testsuite+0x87c960) 11:56:48 #5 EphemeralVBucket::StaleItemDeleter::visit(VBucket&) /home/couchbase/jenkins/workspace/kv_engine.threadsanitizer_master/kv_engine/engines/ep/src/ephemeral_tombstone_purger.cc:202 (ep_testsuite+0x8b3eae) 11:56:48 #6 KVBucket::pauseResumeVisit(PauseResumeVBVisitor&, KVBucketIface::Position&, VBucketFilter*) /home/couchbase/jenkins/workspace/kv_engine.threadsanitizer_master/kv_engine/engines/ep/src/kv_bucket.cc:2348 (ep_testsuite+0x78ae1e) 11:56:48 #7 EphTombstoneStaleItemDeleter::run() /home/couchbase/jenkins/workspace/kv_engine.threadsanitizer_master/kv_engine/engines/ep/src/ephemeral_tombstone_purger.cc:271 (ep_testsuite+0x87ac32) 11:56:48 #8 GlobalTask::execute(std::basic_string_view >) /home/couchbase/jenkins/workspace/kv_engine.threadsanitizer_master/kv_engine/executor/globaltask.cc:98 (ep_testsuite+0x54ebc9) 11:56:48 #9 FollyExecutorPool::TaskProxy::scheduleViaCPUPool()::{lambda()#2}::operator()() const /home/couchbase/jenkins/workspace/kv_engine.threadsanitizer_master/kv_engine/executor/folly_executorpool.cc:163 (ep_testsuite+0x585428) 11:56:48 #10 void folly::detail::function::FunctionTraits::callSmall(folly::detail::function::Data&) tlm/deps/folly.exploded/include/folly/Function.h:363 (ep_testsuite+0x5852c5) 11:56:48 #11 folly::detail::function::FunctionTraits::operator()() tlm/deps/folly.exploded/include/folly/Function.h:392 (ep_testsuite+0x552a0c) 11:56:48 #12 CancellableCPUExecutor::add(GlobalTask*, folly::Function)::$_0::operator()() const /home/couchbase/jenkins/workspace/kv_engine.threadsanitizer_master/kv_engine/executor/cancellable_cpu_executor.cc:42 (ep_testsuite+0x54f770) 11:56:48 #13 void folly::detail::function::FunctionTraits::callSmall)::$_0>(folly::detail::function::Data&) tlm/deps/folly.exploded/include/folly/Function.h:363 (ep_testsuite+0x54f2b5) 11:56:48 #14 folly::detail::function::FunctionTraits::operator()() folly/Function.h:392 (ep_testsuite+0xda7892) 11:56:48 #15 folly::ThreadPoolExecutor::runTask(std::shared_ptr const&, folly::ThreadPoolExecutor::Task&&) folly/executors/ThreadPoolExecutor.cpp:98 (ep_testsuite+0xda7892) 11:56:48 #16 folly::CPUThreadPoolExecutor::threadRun(std::shared_ptr) folly/executors/CPUThreadPoolExecutor.cpp:306 (ep_testsuite+0xd86ce5) 11:56:48 #17 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_testsuite+0xdaefa4) 11:56:48 #18 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_testsuite+0xdaed0d) 11:56:48 #19 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_testsuite+0xdaed0d) 11:56:48 #20 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_testsuite+0xdaed0d) 11:56:48 #21 void folly::detail::function::FunctionTraits::callSmall))(std::shared_ptr)> >(folly::detail::function::Data&) folly/Function.h:363 (ep_testsuite+0xdaed0d) 11:56:48 #22 folly::detail::function::FunctionTraits::operator()() tlm/deps/folly.exploded/include/folly/Function.h:392 (ep_testsuite+0x552a0c) 11:56:48 #23 CBRegisteredThreadFactory::newThread(folly::Function&&)::{lambda()#1}::operator()() /home/couchbase/jenkins/workspace/kv_engine.threadsanitizer_master/kv_engine/executor/folly_executorpool.cc:49 (ep_testsuite+0x55f162) 11:56:48 #24 void folly::detail::function::FunctionTraits::callBig&&)::{lambda()#1}>(folly::detail::function::Data&) tlm/deps/folly.exploded/include/folly/Function.h:377 (ep_testsuite+0x55ef5d) 11:56:48 #25 folly::detail::function::FunctionTraits::operator()() tlm/deps/folly.exploded/include/folly/Function.h:392 (ep_testsuite+0x552a0c) 11:56:48 #26 folly::PriorityThreadFactory::newThread(folly::Function&&)::{lambda()#1}::operator()() tlm/deps/folly.exploded/include/folly/executors/thread_factory/PriorityThreadFactory.h:52 (ep_testsuite+0x562188) 11:56:48 #27 void folly::detail::function::FunctionTraits::callBig&&)::{lambda()#1}>(folly::detail::function::Data&) tlm/deps/folly.exploded/include/folly/Function.h:377 (ep_testsuite+0x56203d) 11:56:48 #28 folly::detail::function::FunctionTraits::operator()() tlm/deps/folly.exploded/include/folly/Function.h:392 (ep_testsuite+0x552a0c) 11:56:48 #29 folly::NamedThreadFactory::newThread(folly::Function&&)::{lambda()#1}::operator()() tlm/deps/folly.exploded/include/folly/executors/thread_factory/NamedThreadFactory.h:40 (ep_testsuite+0x561ab3) 11:56:48 #30 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_testsuite+0x561a5d) 11:56:48 #31 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_testsuite+0x5619cd) 11:56:48 #32 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_testsuite+0x561995) 11:56:48 #33 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_testsuite+0x561955) 11:56:48 #34 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_testsuite+0x561819) 11:56:48 #35 execute_native_thread_routine /tmp/deploy/objdir/../gcc-10.2.0/libstdc++-v3/src/c++11/thread.cc:80 (libstdc++.so.6+0xd62ef) 11:56:48 11:56:48 Previous read of size 8 at 0x7b4400001a00 by main thread (mutexes: write M3032, write M1005282691001636776): 11:56:48 #0 cb::NonNegativeCounter::load() const ../platform/include/platform/non_negative_counter.h:89 (ep_testsuite+0x5bcd35) 11:56:48 #1 cb::NonNegativeCounter::operator unsigned long() const ../platform/include/platform/non_negative_counter.h:85 (ep_testsuite+0x687165) 11:56:48 #2 BasicLinkedList::getNumStaleItems() const /home/couchbase/jenkins/workspace/kv_engine.threadsanitizer_master/kv_engine/engines/ep/src/linked_list.cc:307 (ep_testsuite+0xa94a7c) 11:56:48 #3 EphemeralVBucket::CountVisitor::visitBucket(VBucket&) /home/couchbase/jenkins/workspace/kv_engine.threadsanitizer_master/kv_engine/engines/ep/src/ephemeral_vb_count_visitor.cc:35 (ep_testsuite+0x849d26) 11:56:48 #4 VBucketStatAggregator::visitBucket(VBucket&) /home/couchbase/jenkins/workspace/kv_engine.threadsanitizer_master/kv_engine/engines/ep/src/vb_count_visitor.cc:102 (ep_testsuite+0x6fbcbb) 11:56:48 #5 KVBucket::visit(VBucketVisitor&) /home/couchbase/jenkins/workspace/kv_engine.threadsanitizer_master/kv_engine/engines/ep/src/kv_bucket.cc:2320 (ep_testsuite+0x78abc3) 11:56:48 #6 KVBucket::getAggregatedVBucketStats(BucketStatCollector const&, cb::prometheus::MetricGroup) /home/couchbase/jenkins/workspace/kv_engine.threadsanitizer_master/kv_engine/engines/ep/src/kv_bucket.cc:1256 (ep_testsuite+0x78493a) 11:56:48 #7 EventuallyPersistentEngine::doEngineStatsLowCardinality(BucketStatCollector const&) /home/couchbase/jenkins/workspace/kv_engine.threadsanitizer_master/kv_engine/engines/ep/src/ep_engine.cc:3016 (ep_testsuite+0x85b0c5) 11:56:48 #8 EventuallyPersistentEngine::doEngineStats(BucketStatCollector const&) /home/couchbase/jenkins/workspace/kv_engine.threadsanitizer_master/kv_engine/engines/ep/src/ep_engine.cc:2973 (ep_testsuite+0x86cfae) 11:56:48 #9 EventuallyPersistentEngine::getStats(CookieIface&, std::basic_string_view >, std::basic_string_view >, std::function >, std::basic_string_view >, CookieIface&)> const&) /home/couchbase/jenkins/workspace/kv_engine.threadsanitizer_master/kv_engine/engines/ep/src/ep_engine.cc:4755 (ep_testsuite+0x8584f4) 11:56:48 #10 EventuallyPersistentEngine::get_stats(CookieIface&, std::basic_string_view >, std::basic_string_view >, std::function >, std::basic_string_view >, CookieIface&)> const&) /home/couchbase/jenkins/workspace/kv_engine.threadsanitizer_master/kv_engine/engines/ep/src/ep_engine.cc:369 (ep_testsuite+0x8582fa) 11:56:48 #11 MockEngine::get_stats(CookieIface&, std::basic_string_view >, std::basic_string_view >, std::function >, std::basic_string_view >, CookieIface&)> const&)::$_7::operator()() const ../kv_engine/programs/engine_testapp/mock_engine.cc:218 (ep_testsuite+0x622e02) 11:56:48 #12 cb::engine_errc std::__invoke_impl >, std::basic_string_view >, std::function >, std::basic_string_view >, CookieIface&)> const&)::$_7&>(std::__invoke_other, MockEngine::get_stats(CookieIface&, std::basic_string_view >, std::basic_string_view >, std::function >, std::basic_string_view >, CookieIface&)> const&)::$_7&) /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_testsuite+0x622d0d) 11:56:48 #13 std::enable_if >, std::basic_string_view >, std::function >, std::basic_string_view >, CookieIface&)> const&)::$_7&>, cb::engine_errc>::type std::__invoke_r >, std::basic_string_view >, std::function >, std::basic_string_view >, CookieIface&)> const&)::$_7&>(MockEngine::get_stats(CookieIface&, std::basic_string_view >, std::basic_string_view >, std::function >, std::basic_string_view >, CookieIface&)> const&)::$_7&) /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_testsuite+0x622c9d) 11:56:48 #14 std::_Function_handler >, std::basic_string_view >, std::function >, std::basic_string_view >, CookieIface&)> const&)::$_7>::_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_testsuite+0x622b1d) 11:56:48 #15 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_testsuite+0x628448) 11:56:48 #16 call_engine_and_handle_EWOULDBLOCK(CookieIface&, std::function const&) ../kv_engine/programs/engine_testapp/mock_engine.cc:56 (ep_testsuite+0x61c5fd) 11:56:48 #17 MockEngine::get_stats(CookieIface&, std::basic_string_view >, std::basic_string_view >, std::function >, std::basic_string_view >, CookieIface&)> const&) ../kv_engine/programs/engine_testapp/mock_engine.cc:221 (ep_testsuite+0x61d30d) 11:56:48 #18 std::__cxx11::basic_string, std::allocator > get_stat, std::allocator > >(EngineIface*, char const*, char const*) ../kv_engine/engines/ep/tests/ep_test_apis.cc:1484 (ep_testsuite+0x45ceae) 11:56:48 #19 get_str_stat[abi:cxx11](EngineIface*, char const*, char const*) ../kv_engine/engines/ep/tests/ep_test_apis.cc:1534 (ep_testsuite+0x45b70e) 11:56:48 #20 unsigned long get_stat(EngineIface*, char const*, char const*) ../kv_engine/engines/ep/tests/ep_test_apis.cc:1458 (ep_testsuite+0x45cc5c) 11:56:48 #21 void wait_for_stat_to_be(EngineIface*, char const*, unsigned long, char const*, std::chrono::duration >) ../kv_engine/engines/ep/tests/ep_test_apis.h:657 (ep_testsuite+0x4510c9) 11:56:48 #22 test_bucket_quota_reduction(EngineIface*) ../kv_engine/engines/ep/tests/ep_testsuite.cc:8514 (ep_testsuite+0x4f46b9) 11:56:48 #23 execute_test(test, char const*)::$_1::operator()() const /home/couchbase/jenkins/workspace/kv_engine.threadsanitizer_master/kv_engine/programs/engine_testapp/engine_testapp.cc:421 (ep_testsuite+0x488e98) 11:56:48 #24 test_result std::__invoke_impl(std::__invoke_other, execute_test(test, char const*)::$_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_testsuite+0x488e1d) 11:56:48 #25 std::enable_if, test_result>::type std::__invoke_r(execute_test(test, char const*)::$_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_testsuite+0x488dad) 11:56:48 #26 std::_Function_handler::_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_testsuite+0x488c9d) 11:56:48 #27 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_testsuite+0x4895e8) 11:56:48 #28 try_run_test(std::function) /home/couchbase/jenkins/workspace/kv_engine.threadsanitizer_master/kv_engine/programs/engine_testapp/engine_testapp.cc:259 (ep_testsuite+0x486518) 11:56:48 #29 execute_test(test, char const*) /home/couchbase/jenkins/workspace/kv_engine.threadsanitizer_master/kv_engine/programs/engine_testapp/engine_testapp.cc:421 (ep_testsuite+0x487d07) 11:56:48 #30 main /home/couchbase/jenkins/workspace/kv_engine.threadsanitizer_master/kv_engine/programs/engine_testapp/engine_testapp.cc:675 (ep_testsuite+0x486e3e) 11:56:48 11:56:48 Location is heap block of size 296 at 0x7b4400001900 allocated by main thread: 11:56:48 #0 operator new(unsigned long) (libtsan.so.0+0x87c5c) 11:56:48 #1 std::_MakeUniq::__single_object std::make_unique(Vbid&, EPStats&) /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_testsuite+0x88f685) 11:56:48 #2 EphemeralVBucket::EphemeralVBucket(Vbid, vbucket_state_t, EPStats&, CheckpointConfig&, KVShard*, long, unsigned long, unsigned long, std::unique_ptr >, std::unique_ptr, std::default_delete > >, std::function, std::function, std::function > (VBucket&)>, std::function, Configuration&, EvictionPolicy, std::unique_ptr >, KVBucket*, vbucket_state_t, unsigned long, unsigned long, bool, nlohmann::basic_json, std::allocator >, bool, long, unsigned long, double, std::allocator, nlohmann::adl_serializer, std::vector > > const*) /home/couchbase/jenkins/workspace/kv_engine.threadsanitizer_master/kv_engine/engines/ep/src/ephemeral_vb.cc:84 (ep_testsuite+0x87b449) 11:56:48 #3 EphemeralBucket::makeVBucket(Vbid, vbucket_state_t, KVShard*, std::unique_ptr >, std::unique_ptr, std::default_delete > >, std::unique_ptr >, vbucket_state_t, long, unsigned long, unsigned long, unsigned long, unsigned long, long, bool, nlohmann::basic_json, std::allocator >, bool, long, unsigned long, double, std::allocator, nlohmann::adl_serializer, std::vector > > const*, unsigned long, unsigned long) /home/couchbase/jenkins/workspace/kv_engine.threadsanitizer_master/kv_engine/engines/ep/src/ephemeral_bucket.cc:271 (ep_testsuite+0x878fb4) 11:56:48 #4 KVBucket::createVBucket_UNLOCKED(Vbid, vbucket_state_t, nlohmann::basic_json, std::allocator >, bool, long, unsigned long, double, std::allocator, nlohmann::adl_serializer, std::vector > > const*, std::unique_lock&) /home/couchbase/jenkins/workspace/kv_engine.threadsanitizer_master/kv_engine/engines/ep/src/kv_bucket.cc:1054 (ep_testsuite+0x783676) 11:56:48 #5 KVBucket::setVBucketState(Vbid, vbucket_state_t, nlohmann::basic_json, std::allocator >, bool, long, unsigned long, double, std::allocator, nlohmann::adl_serializer, std::vector > > const*, TransferVB, CookieIface*) /home/couchbase/jenkins/workspace/kv_engine.threadsanitizer_master/kv_engine/engines/ep/src/kv_bucket.cc:931 (ep_testsuite+0x782e50) 11:56:48 #6 EventuallyPersistentEngine::setVBucketState(CookieIface&, Vbid, vbucket_state_t, nlohmann::basic_json, std::allocator >, bool, long, unsigned long, double, std::allocator, nlohmann::adl_serializer, std::vector > > const*, TransferVB, unsigned long) /home/couchbase/jenkins/workspace/kv_engine.threadsanitizer_master/kv_engine/engines/ep/src/ep_engine.cc:6672 (ep_testsuite+0x8603ad) 11:56:48 #7 EventuallyPersistentEngine::setVBucketInner(CookieIface&, Vbid, unsigned long, vbucket_state_t, nlohmann::basic_json, std::allocator >, bool, long, unsigned long, double, std::allocator, nlohmann::adl_serializer, std::vector > >*) /home/couchbase/jenkins/workspace/kv_engine.threadsanitizer_master/kv_engine/engines/ep/src/ep_engine.cc:1060 (ep_testsuite+0x860320) 11:56:48 #8 EventuallyPersistentEngine::setVBucket(CookieIface&, Vbid, unsigned long, vbucket_state_t, nlohmann::basic_json, std::allocator >, bool, long, unsigned long, double, std::allocator, nlohmann::adl_serializer, std::vector > >*) /home/couchbase/jenkins/workspace/kv_engine.threadsanitizer_master/kv_engine/engines/ep/src/ep_engine.cc:6874 (ep_testsuite+0x877520) 11:56:48 #9 MockEngine::setVBucket(CookieIface&, Vbid, unsigned long, vbucket_state_t, nlohmann::basic_json, std::allocator >, bool, long, unsigned long, double, std::allocator, nlohmann::adl_serializer, std::vector > >*)::$_19::operator()() const ../kv_engine/programs/engine_testapp/mock_engine.cc:705 (ep_testsuite+0x626f21) 11:56:48 #10 cb::engine_errc std::__invoke_impl, std::allocator >, bool, long, unsigned long, double, std::allocator, nlohmann::adl_serializer, std::vector > >*)::$_19&>(std::__invoke_other, MockEngine::setVBucket(CookieIface&, Vbid, unsigned long, vbucket_state_t, nlohmann::basic_json, std::allocator >, bool, long, unsigned long, double, std::allocator, nlohmann::adl_serializer, std::vector > >*)::$_19&) /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_testsuite+0x626e4d) 11:56:48 #11 std::enable_if, std::allocator >, bool, long, unsigned long, double, std::allocator, nlohmann::adl_serializer, std::vector > >*)::$_19&>, cb::engine_errc>::type std::__invoke_r, std::allocator >, bool, long, unsigned long, double, std::allocator, nlohmann::adl_serializer, std::vector > >*)::$_19&>(MockEngine::setVBucket(CookieIface&, Vbid, unsigned long, vbucket_state_t, nlohmann::basic_json, std::allocator >, bool, long, unsigned long, double, std::allocator, nlohmann::adl_serializer, std::vector > >*)::$_19&) /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_testsuite+0x626ddd) 11:56:48 #12 std::_Function_handler, std::allocator >, bool, long, unsigned long, double, std::allocator, nlohmann::adl_serializer, std::vector > >*)::$_19>::_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_testsuite+0x626c5d) 11:56:48 #13 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_testsuite+0x628448) 11:56:48 #14 call_engine_and_handle_EWOULDBLOCK(CookieIface&, std::function const&) ../kv_engine/programs/engine_testapp/mock_engine.cc:56 (ep_testsuite+0x61c5fd) 11:56:48 #15 MockEngine::setVBucket(CookieIface&, Vbid, unsigned long, vbucket_state_t, nlohmann::basic_json, std::allocator >, bool, long, unsigned long, double, std::allocator, nlohmann::adl_serializer, std::vector > >*) ../kv_engine/programs/engine_testapp/mock_engine.cc:708 (ep_testsuite+0x61fed0) 11:56:48 #16 set_vbucket_state(EngineIface*, Vbid, vbucket_state_t, std::basic_string_view >) ../kv_engine/engines/ep/tests/ep_test_apis.cc:745 (ep_testsuite+0x459791) 11:56:48 #17 test_setup(EngineIface*) ../kv_engine/engines/ep/tests/ep_testsuite_common.cc:123 (ep_testsuite+0x44e2f6) 11:56:48 #18 execute_test(test, char const*) /home/couchbase/jenkins/workspace/kv_engine.threadsanitizer_master/kv_engine/programs/engine_testapp/engine_testapp.cc:414 (ep_testsuite+0x487ce4) 11:56:48 #19 main /home/couchbase/jenkins/workspace/kv_engine.threadsanitizer_master/kv_engine/programs/engine_testapp/engine_testapp.cc:675 (ep_testsuite+0x486e3e) 11:56:48 11:56:48 Mutex M3032 (0x0000016709b0) created at: 11:56:48 #0 pthread_mutex_lock (libtsan.so.0+0x50dfa) 11:56:48 #1 __gthread_mutex_lock(pthread_mutex_t*) /opt/gcc-10.2.0/lib/gcc/x86_64-pc-linux-gnu/10.2.0/../../../../include/c++/10.2.0/x86_64-pc-linux-gnu/bits/gthr-default.h:749 (ep_testsuite+0x45ebd3) 11:56:48 #2 std::mutex::lock() /opt/gcc-10.2.0/lib/gcc/x86_64-pc-linux-gnu/10.2.0/../../../../include/c++/10.2.0/bits/std_mutex.h:100 (ep_testsuite+0x464315) 11:56:48 #3 std::lock_guard::lock_guard(std::mutex&) /opt/gcc-10.2.0/lib/gcc/x86_64-pc-linux-gnu/10.2.0/../../../../include/c++/10.2.0/bits/std_mutex.h:159 (ep_testsuite+0x45f446) 11:56:48 #4 std::__cxx11::basic_string, std::allocator > get_stat, std::allocator > >(EngineIface*, char const*, char const*) ../kv_engine/engines/ep/tests/ep_test_apis.cc:1477 (ep_testsuite+0x45cdda) 11:56:48 #5 get_str_stat[abi:cxx11](EngineIface*, char const*, char const*) ../kv_engine/engines/ep/tests/ep_test_apis.cc:1534 (ep_testsuite+0x45b70e) 11:56:48 #6 isPersistentBucket(EngineIface*) ../kv_engine/engines/ep/tests/ep_testsuite_common.cc:531 (ep_testsuite+0x44ff89) 11:56:48 #7 isWarmupEnabled(EngineIface*) ../kv_engine/engines/ep/tests/ep_testsuite_common.cc:527 (ep_testsuite+0x44ff25) 11:56:48 #8 wait_for_warmup_complete(EngineIface*) ../kv_engine/engines/ep/tests/ep_test_apis.cc:1701 (ep_testsuite+0x45dc82) 11:56:48 #9 test_setup(EngineIface*) ../kv_engine/engines/ep/tests/ep_testsuite_common.cc:120 (ep_testsuite+0x44e2b4) 11:56:48 #10 execute_test(test, char const*) /home/couchbase/jenkins/workspace/kv_engine.threadsanitizer_master/kv_engine/programs/engine_testapp/engine_testapp.cc:414 (ep_testsuite+0x487ce4) 11:56:48 #11 main /home/couchbase/jenkins/workspace/kv_engine.threadsanitizer_master/kv_engine/programs/engine_testapp/engine_testapp.cc:675 (ep_testsuite+0x486e3e) 11:56:48 11:56:48 Mutex M1005282691001636776 is already destroyed. 11:56:48 11:56:48 Thread T21 'NonIoPool5' (tid=47879, running) created by main thread at: 11:56:48 #0 pthread_create (libtsan.so.0+0x5be62) 11:56:48 #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) 11:56:48 #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) 11:56:48 #3 folly::NamedThreadFactory::newThread(folly::Function&&) tlm/deps/folly.exploded/include/folly/executors/thread_factory/NamedThreadFactory.h:37 (ep_testsuite+0x560c22) 11:56:48 #4 folly::PriorityThreadFactory::newThread(folly::Function&&) tlm/deps/folly.exploded/include/folly/executors/thread_factory/PriorityThreadFactory.h:47 (ep_testsuite+0x561e9d) 11:56:48 #5 CBPriorityThreadFactory::newThread(folly::Function&&) /home/couchbase/jenkins/workspace/kv_engine.threadsanitizer_master/kv_engine/executor/folly_executorpool.cc:72 (ep_testsuite+0x5600d1) 11:56:48 #6 CBRegisteredThreadFactory::newThread(folly::Function&&) /home/couchbase/jenkins/workspace/kv_engine.threadsanitizer_master/kv_engine/executor/folly_executorpool.cc:44 (ep_testsuite+0x55ec87) 11:56:48 #7 folly::ThreadPoolExecutor::addThreads(unsigned long) folly/executors/ThreadPoolExecutor.cpp:215 (ep_testsuite+0xda895d) 11:56:48 #8 folly::ThreadPoolExecutor::setNumThreads(unsigned long) folly/executors/ThreadPoolExecutor.cpp:197 (ep_testsuite+0xda843d) 11:56:48 #9 CancellableCPUExecutor::setNumThreads(unsigned long) /home/couchbase/jenkins/workspace/kv_engine.threadsanitizer_master/kv_engine/executor/cancellable_cpu_executor.h:35 (ep_testsuite+0x556bd5) 11:56:48 #10 FollyExecutorPool::setNumNonIO(unsigned short) /home/couchbase/jenkins/workspace/kv_engine.threadsanitizer_master/kv_engine/executor/folly_executorpool.cc:764 (ep_testsuite+0x54bfe5) 11:56:48 #11 test_bucket_quota_reduction(EngineIface*) ../kv_engine/engines/ep/tests/ep_testsuite.cc:8504 (ep_testsuite+0x4f4600) 11:56:48 #12 execute_test(test, char const*)::$_1::operator()() const /home/couchbase/jenkins/workspace/kv_engine.threadsanitizer_master/kv_engine/programs/engine_testapp/engine_testapp.cc:421 (ep_testsuite+0x488e98) 11:56:48 #13 test_result std::__invoke_impl(std::__invoke_other, execute_test(test, char const*)::$_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_testsuite+0x488e1d) 11:56:48 #14 std::enable_if, test_result>::type std::__invoke_r(execute_test(test, char const*)::$_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_testsuite+0x488dad) 11:56:48 #15 std::_Function_handler::_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_testsuite+0x488c9d) 11:56:48 #16 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_testsuite+0x4895e8) 11:56:48 #17 try_run_test(std::function) /home/couchbase/jenkins/workspace/kv_engine.threadsanitizer_master/kv_engine/programs/engine_testapp/engine_testapp.cc:259 (ep_testsuite+0x486518) 11:56:48 #18 execute_test(test, char const*) /home/couchbase/jenkins/workspace/kv_engine.threadsanitizer_master/kv_engine/programs/engine_testapp/engine_testapp.cc:421 (ep_testsuite+0x487d07) 11:56:48 #19 main /home/couchbase/jenkins/workspace/kv_engine.threadsanitizer_master/kv_engine/programs/engine_testapp/engine_testapp.cc:675 (ep_testsuite+0x486e3e) {noformat}