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

ThreadSanitizer: data race in std::vector<magma::PersistentSnapshot, ...>::size()

    XMLWordPrintable

Details

    • Untriaged
    • Unknown

    Description

      As seen during CV for http://review.couchbase.org/#/c/123297/ (no magma changes) with magma SHA 2700965459971d674bbaa68d9503a4c618e4e72b:

      [ RUN      ] MagmaKVStoreTest.getStat
       ==================
       WARNING: ThreadSanitizer: data race (pid=20641)
         Read of size 8 at 0x7b0800073590 by main thread (mutexes: write M471324814800327192):
           #0 std::vector<magma::PersistentSnapshot, std::allocator<magma::PersistentSnapshot> >::size() const /usr/local/include/c++/7.3.0/bits/stl_vector.h:671 (libmagma.so+0x000000133bb5)
           #1 magma::PersistentSnapshotManager::Size() /home/couchbase/jenkins/workspace/kv_engine.threadsanitizer_master/magma/lsm/persistent_state.cc:448 (libmagma.so+0x000000133bb5)
           #2 magma::LSMTree::GetRestartWALOffset() /home/couchbase/jenkins/workspace/kv_engine.threadsanitizer_master/magma/lsm/lsm_tree.h:105 (libmagma.so+0x0000000c8f26)
           #3 magma::Magma::Impl::getRestartWALOffset(std::shared_ptr<magma::KVStore>, magma::WALOffset&) /home/couchbase/jenkins/workspace/kv_engine.threadsanitizer_master/magma/magma/magma.cc:1097 (libmagma.so+0x0000000c8f26)
           #4 magma::Magma::Impl::FlushWriteCache(bool) /home/couchbase/jenkins/workspace/kv_engine.threadsanitizer_master/magma/magma/write_docs.cc:238 (libmagma.so+0x0000001003e2)
           #5 magma::Magma::Sync(bool) /home/couchbase/jenkins/workspace/kv_engine.threadsanitizer_master/magma/magma/magma.cc:706 (libmagma.so+0x0000000d5cf9)
           #6 MagmaKVStore::~MagmaKVStore() /home/couchbase/jenkins/workspace/kv_engine.threadsanitizer_master/kv_engine/engines/ep/src/magma-kvstore/magma-kvstore.cc:640 (ep-engine_ep_unit_tests+0x000001357beb)
           #7 MagmaKVStore::~MagmaKVStore() /home/couchbase/jenkins/workspace/kv_engine.threadsanitizer_master/kv_engine/engines/ep/src/magma-kvstore/magma-kvstore.cc:643 (ep-engine_ep_unit_tests+0x000001358347)
           #8 std::default_delete<KVStore>::operator()(KVStore*) const /usr/local/include/c++/7.3.0/bits/unique_ptr.h:78 (ep-engine_ep_unit_tests+0x000000e6de22)
           #9 std::unique_ptr<KVStore, std::default_delete<KVStore> >::reset(KVStore*) /usr/local/include/c++/7.3.0/bits/unique_ptr.h:376 (ep-engine_ep_unit_tests+0x000000e6de22)
           #10 MagmaKVStoreTest::TearDown() /home/couchbase/jenkins/workspace/kv_engine.threadsanitizer_master/kv_engine/engines/ep/tests/module_tests/kvstore_test.cc:2913 (ep-engine_ep_unit_tests+0x000000e6de22)
           #11 void testing::internal::HandleSehExceptionsInMethodIfSupported<testing::Test, void>(testing::Test*, void (testing::Test::*)(), char const*) /home/couchbase/jenkins/workspace/kv_engine.threadsanitizer_master/third_party/googletest/googletest/src/gtest.cc:2433 (ep-engine_ep_unit_tests+0x00000142eb23)
           #12 void testing::internal::HandleExceptionsInMethodIfSupported<testing::Test, void>(testing::Test*, void (testing::Test::*)(), char const*) /home/couchbase/jenkins/workspace/kv_engine.threadsanitizer_master/third_party/googletest/googletest/src/gtest.cc:2469 (ep-engine_ep_unit_tests+0x000001436dbd)
           #13 testing::Test::Run() /home/couchbase/jenkins/workspace/kv_engine.threadsanitizer_master/third_party/googletest/googletest/src/gtest.cc:2516 (ep-engine_ep_unit_tests+0x00000142416a)
           #14 testing::TestInfo::Run() /home/couchbase/jenkins/workspace/kv_engine.threadsanitizer_master/third_party/googletest/googletest/src/gtest.cc:2684 (ep-engine_ep_unit_tests+0x0000014244f6)
           #15 testing::TestSuite::Run() /home/couchbase/jenkins/workspace/kv_engine.threadsanitizer_master/third_party/googletest/googletest/src/gtest.cc:2816 (ep-engine_ep_unit_tests+0x0000014246d9)
           #16 testing::internal::UnitTestImpl::RunAllTests() /home/couchbase/jenkins/workspace/kv_engine.threadsanitizer_master/third_party/googletest/googletest/src/gtest.cc:5338 (ep-engine_ep_unit_tests+0x000001426cb6)
           #17 bool testing::internal::HandleSehExceptionsInMethodIfSupported<testing::internal::UnitTestImpl, bool>(testing::internal::UnitTestImpl*, bool (testing::internal::UnitTestImpl::*)(), char const*) /home/couchbase/jenkins/workspace/kv_engine.threadsanitizer_master/third_party/googletest/googletest/src/gtest.cc:2433 (ep-engine_ep_unit_tests+0x00000142ee05)
           #18 bool testing::internal::HandleExceptionsInMethodIfSupported<testing::internal::UnitTestImpl, bool>(testing::internal::UnitTestImpl*, bool (testing::internal::UnitTestImpl::*)(), char const*) /home/couchbase/jenkins/workspace/kv_engine.threadsanitizer_master/third_party/googletest/googletest/src/gtest.cc:2469 (ep-engine_ep_unit_tests+0x0000014373c3)
           #19 testing::UnitTest::Run() /home/couchbase/jenkins/workspace/kv_engine.threadsanitizer_master/third_party/googletest/googletest/src/gtest.cc:4925 (ep-engine_ep_unit_tests+0x00000142428e)
           #20 RUN_ALL_TESTS() /home/couchbase/jenkins/workspace/kv_engine.threadsanitizer_master/third_party/googletest/googletest/include/gtest/gtest.h:2473 (ep-engine_ep_unit_tests+0x000000a4e25e)
           #21 main /home/couchbase/jenkins/workspace/kv_engine.threadsanitizer_master/kv_engine/engines/ep/tests/module_tests/ep_unit_tests_main.cc:142 (ep-engine_ep_unit_tests+0x000000a4e25e)
       
         Previous write of size 8 at 0x7b0800073590 by thread T25:
           #0 magma::PersistentSnapshot& std::vector<magma::PersistentSnapshot, std::allocator<magma::PersistentSnapshot> >::emplace_back<std::shared_ptr<magma::TreeState>&>(std::shared_ptr<magma::TreeState>&) /usr/local/include/c++/7.3.0/bits/vector.tcc:102 (libmagma.so+0x00000013c6e0)
           #1 magma::PersistentSnapshotManager::CreateSnapshot(std::shared_ptr<magma::TreeState>) /home/couchbase/jenkins/workspace/kv_engine.threadsanitizer_master/magma/lsm/persistent_state.cc:414 (libmagma.so+0x0000001372b4)
           #2 magma::LSMTree::syncState(magma::TreeStateType, std::unique_lock<std::mutex>&) /home/couchbase/jenkins/workspace/kv_engine.threadsanitizer_master/magma/lsm/persistent_state.cc:171 (libmagma.so+0x00000013854d)
           #3 magma::LSMTree::doMemtableFlushWork(std::shared_ptr<magma::Memtable>) /home/couchbase/jenkins/workspace/kv_engine.threadsanitizer_master/magma/lsm/lsm_tree.cc:665 (libmagma.so+0x0000001201f5)
           #4 operator() /home/couchbase/jenkins/workspace/kv_engine.threadsanitizer_master/magma/lsm/lsm_tree.cc:681 (libmagma.so+0x0000001220a2)
           #5 _M_invoke /usr/local/include/c++/7.3.0/bits/std_function.h:316 (libmagma.so+0x0000001220a2)
           #6 std::function<void ()>::operator()() const /usr/local/include/c++/7.3.0/bits/std_function.h:706 (ep-engine_ep_unit_tests+0x000000b8d8a8)
           #7 magma::TaskWorker::loop(void*) /home/couchbase/jenkins/workspace/kv_engine.threadsanitizer_master/magma/util/worker.cc:87 (libmagma.so+0x0000000a30c9)
           #8 CouchbaseThread::run() /home/couchbase/jenkins/workspace/kv_engine.threadsanitizer_master/platform/src/cb_pthreads.cc:58 (libplatform_so.so.0.1.0+0x000000010acb)
           #9 platform_thread_wrap /home/couchbase/jenkins/workspace/kv_engine.threadsanitizer_master/platform/src/cb_pthreads.cc:71 (libplatform_so.so.0.1.0+0x000000010acb)
           #10 <null> <null> (libtsan.so.0+0x000000024feb)
       
         Location is heap block of size 32 at 0x7b0800073580 allocated by main thread:
           #0 malloc <null> (libtsan.so.0+0x0000000274e1)
           #1 cb::SystemArenaMalloc::malloc(unsigned long) /home/couchbase/jenkins/workspace/kv_engine.threadsanitizer_master/platform/src/system_arena_malloc.cc:101 (libplatform_so.so.0.1.0+0x000000023763)
           #2 cb::_ArenaMalloc<cb::SystemArenaMalloc>::malloc(unsigned long) /home/couchbase/jenkins/workspace/kv_engine.threadsanitizer_master/platform/include/platform/cb_arena_malloc.h:142 (ep-engine_ep_unit_tests+0x00000147c1c6)
           #3 cb_malloc /home/couchbase/jenkins/workspace/kv_engine.threadsanitizer_master/platform/src/cb_malloc_arena.cc:55 (ep-engine_ep_unit_tests+0x00000147c1c6)
           #4 operator new(unsigned long) /home/couchbase/jenkins/workspace/kv_engine.threadsanitizer_master/platform/src/global_new_replacement.cc:71 (ep-engine_ep_unit_tests+0x00000147bfa6)
           #5 std::_MakeUniq<magma::PersistentSnapshotManager>::__single_object std::make_unique<magma::PersistentSnapshotManager, unsigned long&>(unsigned long&) /usr/local/include/c++/7.3.0/bits/unique_ptr.h:825 (libmagma.so+0x00000011702b)
           #6 magma::LSMTree::LSMTree(magma::LSMTreeConfig const&) /home/couchbase/jenkins/workspace/kv_engine.threadsanitizer_master/magma/lsm/lsm_tree.cc:232 (libmagma.so+0x00000011702b)
           #7 std::_MakeUniq<magma::LSMTree>::__single_object std::make_unique<magma::LSMTree, magma::LSMTreeConfig&>(magma::LSMTreeConfig&) /usr/local/include/c++/7.3.0/bits/unique_ptr.h:825 (libmagma.so+0x0000000fca33)
           #8 magma::KVStore::KVStore(unsigned short, unsigned int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, magma::Magma::Config&, magma::LSMTreeConfig&, magma::LSMTreeConfig&, magma::LSMTreeConfig&) /home/couchbase/jenkins/workspace/kv_engine.threadsanitizer_master/magma/magma/kvstore.cc:82 (libmagma.so+0x0000000fca33)
           #9 void __gnu_cxx::new_allocator<magma::KVStore>::construct<magma::KVStore, unsigned short const&, unsigned int const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, magma::Magma::Config&, magma::LSMTreeConfig&, magma::LSMTreeConfig&, magma::LSMTreeConfig&>(magma::KVStore*, unsigned short const&, unsigned int const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&&, magma::Magma::Config&, magma::LSMTreeConfig&, magma::LSMTreeConfig&, magma::LSMTreeConfig&) /usr/local/include/c++/7.3.0/ext/new_allocator.h:136 (libmagma.so+0x0000000d93ea)
           #10 void std::allocator_traits<std::allocator<magma::KVStore> >::construct<magma::KVStore, unsigned short const&, unsigned int const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, magma::Magma::Config&, magma::LSMTreeConfig&, magma::LSMTreeConfig&, magma::LSMTreeConfig&>(std::allocator<magma::KVStore>&, magma::KVStore*, unsigned short const&, unsigned int const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&&, magma::Magma::Config&, magma::LSMTreeConfig&, magma::LSMTreeConfig&, magma::LSMTreeConfig&) /usr/local/include/c++/7.3.0/bits/alloc_traits.h:475 (libmagma.so+0x0000000d93ea)
           #11 std::_Sp_counted_ptr_inplace<magma::KVStore, std::allocator<magma::KVStore>, (__gnu_cxx::_Lock_policy)2>::_Sp_counted_ptr_inplace<unsigned short const&, unsigned int const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, magma::Magma::Config&, magma::LSMTreeConfig&, magma::LSMTreeConfig&, magma::LSMTreeConfig&>(std::allocator<magma::KVStore>, unsigned short const&, unsigned int const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&&, magma::Magma::Config&, magma::LSMTreeConfig&, magma::LSMTreeConfig&, magma::LSMTreeConfig&) /usr/local/include/c++/7.3.0/bits/shared_ptr_base.h:526 (libmagma.so+0x0000000d93ea)
           #12 std::__shared_count<(__gnu_cxx::_Lock_policy)2>::__shared_count<magma::KVStore, std::allocator<magma::KVStore>, unsigned short const&, unsigned int const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, magma::Magma::Config&, magma::LSMTreeConfig&, magma::LSMTreeConfig&, magma::LSMTreeConfig&>(std::_Sp_make_shared_tag, magma::KVStore*, std::allocator<magma::KVStore> const&, unsigned short const&, unsigned int const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&&, magma::Magma::Config&, magma::LSMTreeConfig&, magma::LSMTreeConfig&, magma::LSMTreeConfig&) /usr/local/include/c++/7.3.0/bits/shared_ptr_base.h:637 (libmagma.so+0x0000000d93ea)
           #13 std::__shared_ptr<magma::KVStore, (__gnu_cxx::_Lock_policy)2>::__shared_ptr<std::allocator<magma::KVStore>, unsigned short const&, unsigned int const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, magma::Magma::Config&, magma::LSMTreeConfig&, magma::LSMTreeConfig&, magma::LSMTreeConfig&>(std::_Sp_make_shared_tag, std::allocator<magma::KVStore> const&, unsigned short const&, unsigned int const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&&, magma::Magma::Config&, magma::LSMTreeConfig&, magma::LSMTreeConfig&, magma::LSMTreeConfig&) /usr/local/include/c++/7.3.0/bits/shared_ptr_base.h:1295 (libmagma.so+0x0000000d93ea)
           #14 std::shared_ptr<magma::KVStore>::shared_ptr<std::allocator<magma::KVStore>, unsigned short const&, unsigned int const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, magma::Magma::Config&, magma::LSMTreeConfig&, magma::LSMTreeConfig&, magma::LSMTreeConfig&>(std::_Sp_make_shared_tag, std::allocator<magma::KVStore> const&, unsigned short const&, unsigned int const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&&, magma::Magma::Config&, magma::LSMTreeConfig&, magma::LSMTreeConfig&, magma::LSMTreeConfig&) /usr/local/include/c++/7.3.0/bits/shared_ptr.h:344 (libmagma.so+0x0000000d93ea)
           #15 std::shared_ptr<magma::KVStore> std::allocate_shared<magma::KVStore, std::allocator<magma::KVStore>, unsigned short const&, unsigned int const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, magma::Magma::Config&, magma::LSMTreeConfig&, magma::LSMTreeConfig&, magma::LSMTreeConfig&>(std::allocator<magma::KVStore> const&, unsigned short const&, unsigned int const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&&, magma::Magma::Config&, magma::LSMTreeConfig&, magma::LSMTreeConfig&, magma::LSMTreeConfig&) /usr/local/include/c++/7.3.0/bits/shared_ptr.h:691 (libmagma.so+0x0000000d93ea)
           #16 std::shared_ptr<magma::KVStore> std::make_shared<magma::KVStore, unsigned short const&, unsigned int const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, magma::Magma::Config&, magma::LSMTreeConfig&, magma::LSMTreeConfig&, magma::LSMTreeConfig&>(unsigned short const&, unsigned int const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&&, magma::Magma::Config&, magma::LSMTreeConfig&, magma::LSMTreeConfig&, magma::LSMTreeConfig&) /usr/local/include/c++/7.3.0/bits/shared_ptr.h:707 (libmagma.so+0x0000000d93ea)
           #17 magma::Magma::Impl::createKVStore(unsigned short, unsigned int, std::shared_ptr<magma::KVStore>&) /home/couchbase/jenkins/workspace/kv_engine.threadsanitizer_master/magma/magma/magma.cc:307 (libmagma.so+0x0000000d93ea)
           #18 magma::Magma::NewCommitBatch(unsigned short, std::unique_ptr<magma::Magma::CommitBatch, std::default_delete<magma::Magma::CommitBatch> >&, unsigned int) /home/couchbase/jenkins/workspace/kv_engine.threadsanitizer_master/magma/magma/magma.cc:417 (libmagma.so+0x0000000db57c)
           #19 MagmaKVStore::snapshotVBucket(Vbid, vbucket_state const&) /home/couchbase/jenkins/workspace/kv_engine.threadsanitizer_master/kv_engine/engines/ep/src/magma-kvstore/magma-kvstore.cc:1144 (ep-engine_ep_unit_tests+0x0000013629f7)
           #20 initialize_kv_store /home/couchbase/jenkins/workspace/kv_engine.threadsanitizer_master/kv_engine/engines/ep/tests/module_tests/kvstore_test.cc:199 (ep-engine_ep_unit_tests+0x000000e20af2)
           #21 setup_kv_store /home/couchbase/jenkins/workspace/kv_engine.threadsanitizer_master/kv_engine/engines/ep/tests/module_tests/kvstore_test.cc:208 (ep-engine_ep_unit_tests+0x000000e20d10)
           #22 MagmaKVStoreTest::SetUp() /home/couchbase/jenkins/workspace/kv_engine.threadsanitizer_master/kv_engine/engines/ep/tests/module_tests/kvstore_test.cc:2909 (ep-engine_ep_unit_tests+0x000000e8a8ae)
           #23 void testing::internal::HandleSehExceptionsInMethodIfSupported<testing::Test, void>(testing::Test*, void (testing::Test::*)(), char const*) /home/couchbase/jenkins/workspace/kv_engine.threadsanitizer_master/third_party/googletest/googletest/src/gtest.cc:2433 (ep-engine_ep_unit_tests+0x00000142eb23)
           #24 void testing::internal::HandleExceptionsInMethodIfSupported<testing::Test, void>(testing::Test*, void (testing::Test::*)(), char const*) /home/couchbase/jenkins/workspace/kv_engine.threadsanitizer_master/third_party/googletest/googletest/src/gtest.cc:2469 (ep-engine_ep_unit_tests+0x000001436dbd)
           #25 testing::Test::Run() /home/couchbase/jenkins/workspace/kv_engine.threadsanitizer_master/third_party/googletest/googletest/src/gtest.cc:2503 (ep-engine_ep_unit_tests+0x0000014240d2)
           #26 testing::TestInfo::Run() /home/couchbase/jenkins/workspace/kv_engine.threadsanitizer_master/third_party/googletest/googletest/src/gtest.cc:2684 (ep-engine_ep_unit_tests+0x0000014244f6)
           #27 testing::TestSuite::Run() /home/couchbase/jenkins/workspace/kv_engine.threadsanitizer_master/third_party/googletest/googletest/src/gtest.cc:2816 (ep-engine_ep_unit_tests+0x0000014246d9)
           #28 testing::internal::UnitTestImpl::RunAllTests() /home/couchbase/jenkins/workspace/kv_engine.threadsanitizer_master/third_party/googletest/googletest/src/gtest.cc:5338 (ep-engine_ep_unit_tests+0x000001426cb6)
           #29 bool testing::internal::HandleSehExceptionsInMethodIfSupported<testing::internal::UnitTestImpl, bool>(testing::internal::UnitTestImpl*, bool (testing::internal::UnitTestImpl::*)(), char const*) /home/couchbase/jenkins/workspace/kv_engine.threadsanitizer_master/third_party/googletest/googletest/src/gtest.cc:2433 (ep-engine_ep_unit_tests+0x00000142ee05)
           #30 bool testing::internal::HandleExceptionsInMethodIfSupported<testing::internal::UnitTestImpl, bool>(testing::internal::UnitTestImpl*, bool (testing::internal::UnitTestImpl::*)(), char const*) /home/couchbase/jenkins/workspace/kv_engine.threadsanitizer_master/third_party/googletest/googletest/src/gtest.cc:2469 (ep-engine_ep_unit_tests+0x0000014373c3)
           #31 testing::UnitTest::Run() /home/couchbase/jenkins/workspace/kv_engine.threadsanitizer_master/third_party/googletest/googletest/src/gtest.cc:4925 (ep-engine_ep_unit_tests+0x00000142428e)
           #32 RUN_ALL_TESTS() /home/couchbase/jenkins/workspace/kv_engine.threadsanitizer_master/third_party/googletest/googletest/include/gtest/gtest.h:2473 (ep-engine_ep_unit_tests+0x000000a4e25e)
           #33 main /home/couchbase/jenkins/workspace/kv_engine.threadsanitizer_master/kv_engine/engines/ep/tests/module_tests/ep_unit_tests_main.cc:142 (ep-engine_ep_unit_tests+0x000000a4e25e)
       
         Mutex M471324814800327192 is already destroyed.
       
         Thread T25 'mg:flusher:0:de' (tid=24496, running) created by main thread at:
           #0 pthread_create <null> (libtsan.so.0+0x0000000282a0)
           #1 cb_create_named_thread(unsigned long*, void (*)(void*), void*, int, char const*) /home/couchbase/jenkins/workspace/kv_engine.threadsanitizer_master/platform/src/cb_pthreads.cc:109 (libplatform_so.so.0.1.0+0x000000011104)
           #2 magma::TaskWorker::Start() /home/couchbase/jenkins/workspace/kv_engine.threadsanitizer_master/magma/util/worker.cc:68 (libmagma.so+0x0000000a2825)
           #3 magma::ThreadPool::ThreadPool(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, unsigned long, unsigned long) /home/couchbase/jenkins/workspace/kv_engine.threadsanitizer_master/magma/util/thread_pool.cc:37 (libmagma.so+0x0000000a4d48)
           #4 void __gnu_cxx::new_allocator<magma::ThreadPool>::construct<magma::ThreadPool, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, unsigned long&, unsigned long&>(magma::ThreadPool*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, unsigned long&, unsigned long&) /usr/local/include/c++/7.3.0/ext/new_allocator.h:136 (libmagma.so+0x0000000a5ab9)
           #5 void std::allocator_traits<std::allocator<magma::ThreadPool> >::construct<magma::ThreadPool, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, unsigned long&, unsigned long&>(std::allocator<magma::ThreadPool>&, magma::ThreadPool*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, unsigned long&, unsigned long&) /usr/local/include/c++/7.3.0/bits/alloc_traits.h:475 (libmagma.so+0x0000000a5ab9)
           #6 std::_Sp_counted_ptr_inplace<magma::ThreadPool, std::allocator<magma::ThreadPool>, (__gnu_cxx::_Lock_policy)2>::_Sp_counted_ptr_inplace<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, unsigned long&, unsigned long&>(std::allocator<magma::ThreadPool>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, unsigned long&, unsigned long&) /usr/local/include/c++/7.3.0/bits/shared_ptr_base.h:526 (libmagma.so+0x0000000a5ab9)
           #7 std::__shared_count<(__gnu_cxx::_Lock_policy)2>::__shared_count<magma::ThreadPool, std::allocator<magma::ThreadPool>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, unsigned long&, unsigned long&>(std::_Sp_make_shared_tag, magma::ThreadPool*, std::allocator<magma::ThreadPool> const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, unsigned long&, unsigned long&) /usr/local/include/c++/7.3.0/bits/shared_ptr_base.h:637 (libmagma.so+0x0000000a5ab9)
           #8 std::__shared_ptr<magma::ThreadPool, (__gnu_cxx::_Lock_policy)2>::__shared_ptr<std::allocator<magma::ThreadPool>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, unsigned long&, unsigned long&>(std::_Sp_make_shared_tag, std::allocator<magma::ThreadPool> const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, unsigned long&, unsigned long&) /usr/local/include/c++/7.3.0/bits/shared_ptr_base.h:1295 (libmagma.so+0x0000000a5ab9)
           #9 std::shared_ptr<magma::ThreadPool>::shared_ptr<std::allocator<magma::ThreadPool>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, unsigned long&, unsigned long&>(std::_Sp_make_shared_tag, std::allocator<magma::ThreadPool> const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, unsigned long&, unsigned long&) /usr/local/include/c++/7.3.0/bits/shared_ptr.h:344 (libmagma.so+0x0000000a5ab9)
           #10 std::shared_ptr<magma::ThreadPool> std::allocate_shared<magma::ThreadPool, std::allocator<magma::ThreadPool>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, unsigned long&, unsigned long&>(std::allocator<magma::ThreadPool> const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, unsigned long&, unsigned long&) /usr/local/include/c++/7.3.0/bits/shared_ptr.h:691 (libmagma.so+0x0000000a5ab9)
           #11 std::shared_ptr<magma::ThreadPool> std::make_shared<magma::ThreadPool, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, unsigned long&, unsigned long&>(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, unsigned long&, unsigned long&) /usr/local/include/c++/7.3.0/bits/shared_ptr.h:707 (libmagma.so+0x0000000a5ab9)
           #12 magma::ThreadPool::Create(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, unsigned long, unsigned long) /home/couchbase/jenkins/workspace/kv_engine.threadsanitizer_master/magma/util/thread_pool.cc:58 (libmagma.so+0x0000000a5ab9)
           #13 magma::Magma::Open() /home/couchbase/jenkins/workspace/kv_engine.threadsanitizer_master/magma/magma/magma.cc:108 (libmagma.so+0x0000000d2bdd)
           #14 MagmaKVStore::MagmaKVStore(MagmaKVStoreConfig&) /home/couchbase/jenkins/workspace/kv_engine.threadsanitizer_master/kv_engine/engines/ep/src/magma-kvstore/magma-kvstore.cc:615 (ep-engine_ep_unit_tests+0x00000136f8a3)
           #15 std::_MakeUniq<MagmaKVStore>::__single_object std::make_unique<MagmaKVStore, MagmaKVStoreConfig&>(MagmaKVStoreConfig&) /usr/local/include/c++/7.3.0/bits/unique_ptr.h:825 (ep-engine_ep_unit_tests+0x00000122a46e)
           #16 KVStoreFactory::create(KVStoreConfig&) /home/couchbase/jenkins/workspace/kv_engine.threadsanitizer_master/kv_engine/engines/ep/src/kvstore.cc:170 (ep-engine_ep_unit_tests+0x00000122a46e)
           #17 setup_kv_store /home/couchbase/jenkins/workspace/kv_engine.threadsanitizer_master/kv_engine/engines/ep/tests/module_tests/kvstore_test.cc:206 (ep-engine_ep_unit_tests+0x000000e20ccb)
           #18 MagmaKVStoreTest::SetUp() /home/couchbase/jenkins/workspace/kv_engine.threadsanitizer_master/kv_engine/engines/ep/tests/module_tests/kvstore_test.cc:2909 (ep-engine_ep_unit_tests+0x000000e8a8ae)
           #19 void testing::internal::HandleSehExceptionsInMethodIfSupported<testing::Test, void>(testing::Test*, void (testing::Test::*)(), char const*) /home/couchbase/jenkins/workspace/kv_engine.threadsanitizer_master/third_party/googletest/googletest/src/gtest.cc:2433 (ep-engine_ep_unit_tests+0x00000142eb23)
           #20 void testing::internal::HandleExceptionsInMethodIfSupported<testing::Test, void>(testing::Test*, void (testing::Test::*)(), char const*) /home/couchbase/jenkins/workspace/kv_engine.threadsanitizer_master/third_party/googletest/googletest/src/gtest.cc:2469 (ep-engine_ep_unit_tests+0x000001436dbd)
           #21 testing::Test::Run() /home/couchbase/jenkins/workspace/kv_engine.threadsanitizer_master/third_party/googletest/googletest/src/gtest.cc:2503 (ep-engine_ep_unit_tests+0x0000014240d2)
           #22 testing::TestInfo::Run() /home/couchbase/jenkins/workspace/kv_engine.threadsanitizer_master/third_party/googletest/googletest/src/gtest.cc:2684 (ep-engine_ep_unit_tests+0x0000014244f6)
           #23 testing::TestSuite::Run() /home/couchbase/jenkins/workspace/kv_engine.threadsanitizer_master/third_party/googletest/googletest/src/gtest.cc:2816 (ep-engine_ep_unit_tests+0x0000014246d9)
           #24 testing::internal::UnitTestImpl::RunAllTests() /home/couchbase/jenkins/workspace/kv_engine.threadsanitizer_master/third_party/googletest/googletest/src/gtest.cc:5338 (ep-engine_ep_unit_tests+0x000001426cb6)
           #25 bool testing::internal::HandleSehExceptionsInMethodIfSupported<testing::internal::UnitTestImpl, bool>(testing::internal::UnitTestImpl*, bool (testing::internal::UnitTestImpl::*)(), char const*) /home/couchbase/jenkins/workspace/kv_engine.threadsanitizer_master/third_party/googletest/googletest/src/gtest.cc:2433 (ep-engine_ep_unit_tests+0x00000142ee05)
           #26 bool testing::internal::HandleExceptionsInMethodIfSupported<testing::internal::UnitTestImpl, bool>(testing::internal::UnitTestImpl*, bool (testing::internal::UnitTestImpl::*)(), char const*) /home/couchbase/jenkins/workspace/kv_engine.threadsanitizer_master/third_party/googletest/googletest/src/gtest.cc:2469 (ep-engine_ep_unit_tests+0x0000014373c3)
           #27 testing::UnitTest::Run() /home/couchbase/jenkins/workspace/kv_engine.threadsanitizer_master/third_party/googletest/googletest/src/gtest.cc:4925 (ep-engine_ep_unit_tests+0x00000142428e)
           #28 RUN_ALL_TESTS() /home/couchbase/jenkins/workspace/kv_engine.threadsanitizer_master/third_party/googletest/googletest/include/gtest/gtest.h:2473 (ep-engine_ep_unit_tests+0x000000a4e25e)
           #29 main /home/couchbase/jenkins/workspace/kv_engine.threadsanitizer_master/kv_engine/engines/ep/tests/module_tests/ep_unit_tests_main.cc:142 (ep-engine_ep_unit_tests+0x000000a4e25e)
       
      [2020-03-17T14:26:40.672Z] SUMMARY: ThreadSanitizer: data race /usr/local/include/c++/7.3.0/bits/stl_vector.h:671 in std::vector<magma::PersistentSnapshot, std::allocator<magma::PersistentSnapshot> >::size() const
      

      Full log: http://cv.jenkins.couchbase.com/job/kv_engine.threadsanitizer/job/master/2626/consoleFull#409672880c5751633-7aa5-473a-91e8-426e0afa5a7b

      Attachments

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

        Activity

          People

            scott.lashley Scott Lashley
            drigby Dave Rigby (Inactive)
            Votes:
            0 Vote for this issue
            Watchers:
            5 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              Gerrit Reviews

                There are no open Gerrit changes

                PagerDuty