Details
-
Bug
-
Resolution: Duplicate
-
Major
-
None
-
Cheshire-Cat
-
Triaged
-
1
-
Unknown
Description
08:42:58 Running [0042/0099]: test dcp cursor dropping backfill...==================
|
08:42:58 WARNING: ThreadSanitizer: data race (pid=47267)
|
08:42:58 Write of size 8 at 0x7b1800141ed0 by thread T18:
|
08:42:58 #0 free <null> (libtsan.so.0+0x00000002ac56)
|
08:42:58 #1 cb::SystemArenaMalloc::free(void*) ../platform/src/system_arena_malloc.cc:121 (libplatform_so.so.0.1.0+0x00000004a07d)
|
08:42:58 #2 cb::_ArenaMalloc<cb::SystemArenaMalloc>::free(void*) ../platform/include/platform/cb_arena_malloc.h:161 (ep_testsuite_dcp+0x000000551d85)
|
08:42:58 #3 cb_free ../platform/src/cb_malloc_arena.cc:66 (ep_testsuite_dcp+0x000000551a4d)
|
08:42:58 #4 operator delete(void*) ../platform/src/global_new_replacement.cc:84 (ep_testsuite_dcp+0x0000005516e5)
|
08:42:58 #5 OrderedStoredValue::operator delete(void*) ../kv_engine/engines/ep/src/stored-value.h:1120 (libep.so+0x0000003e93b5)
|
08:42:58 #6 std::default_delete<OrderedStoredValue>::operator()(OrderedStoredValue*) const /usr/bin/../lib/gcc/x86_64-linux-gnu/7.5.0/../../../../include/c++/7.5.0/bits/unique_ptr.h:78 (libep.so+0x0000003ebe42)
|
08:42:58 #7 ~unique_ptr /usr/bin/../lib/gcc/x86_64-linux-gnu/7.5.0/../../../../include/c++/7.5.0/bits/unique_ptr.h:263 (libep.so+0x0000003e6d97)
|
08:42:58 #8 BasicLinkedList::purgeListElem(boost::intrusive::list_iterator<boost::intrusive::mhtraits<OrderedStoredValue, boost::intrusive::list_member_hook<void, void, void>, &OrderedStoredValue::seqno_hook>, false>, bool) ../kv_engine/engines/ep/src/linked_list.cc:532 (libep.so+0x0000003e40a3)
|
08:42:58 #9 BasicLinkedList::purgeTombstones(long, std::function<bool (DocKey const&, long, bool)>, std::function<bool ()>) ../kv_engine/engines/ep/src/linked_list.cc:392 (libep.so+0x0000003e3cc6)
|
08:42:58 #10 EphemeralVBucket::purgeStaleItems(std::function<bool ()>) ../kv_engine/engines/ep/src/ephemeral_vb.cc:373 (libep.so+0x000000348392)
|
08:42:58 #11 EphemeralVBucket::StaleItemDeleter::visit(VBucket&) ../kv_engine/engines/ep/src/ephemeral_tombstone_purger.cc:211 (libep.so+0x000000345eee)
|
08:42:58 #12 KVBucket::pauseResumeVisit(PauseResumeVBVisitor&, KVBucketIface::Position&) ../kv_engine/engines/ep/src/kv_bucket.cc:2320 (libep.so+0x0000003a48b8)
|
08:42:58 #13 EphTombstoneStaleItemDeleter::run() ../kv_engine/engines/ep/src/ephemeral_tombstone_purger.cc:280 (libep.so+0x0000003426ac)
|
08:42:58 #14 GlobalTask::execute() ../kv_engine/engines/ep/src/globaltask.cc:73 (libep.so+0x000000374ff9)
|
08:42:58 #15 CB3ExecutorThread::run() ../kv_engine/engines/ep/src/cb3_executorthread.cc:174 (libep.so+0x0000001920c4)
|
08:42:58 #16 launch_executor_thread(void*) ../kv_engine/engines/ep/src/cb3_executorthread.cc:34 (libep.so+0x000000191a95)
|
08:42:58 #17 CouchbaseThread::run() ../platform/src/cb_pthreads.cc:58 (libplatform_so.so.0.1.0+0x00000002aeba)
|
08:42:58 #18 platform_thread_wrap(void*) ../platform/src/cb_pthreads.cc:71 (libplatform_so.so.0.1.0+0x0000000297fe)
|
08:42:58 #19 <null> <null> (libtsan.so.0+0x00000002843b)
|
08:42:58
|
08:42:58 Previous atomic read of size 1 at 0x7b1800141ed3 by thread T7 (mutexes: read M951679, write M952483):
|
08:42:58 #0 __tsan_atomic8_load <null> (libtsan.so.0+0x0000000603bc)
|
08:42:58 #1 std::__atomic_base<unsigned char>::load(std::memory_order) const /usr/bin/../lib/gcc/x86_64-linux-gnu/7.5.0/../../../../include/c++/7.5.0/bits/atomic_base.h:396 (libep.so+0x00000014919a)
|
08:42:58 #2 folly::AtomicBitSet<1ul>::test(unsigned long, std::memory_order) const ../kv_engine/include/memcached/3rd_party/folly/AtomicBitSet.h:160 (libep.so+0x00000014919a)
|
08:42:58 #3 StoredValue::isOrdered() const ../kv_engine/engines/ep/src/stored-value.h:902 (libep.so+0x00000014a5a3)
|
08:42:58 #4 StoredValue::key() ../kv_engine/engines/ep/src/stored-value.h:1196 (libep.so+0x00000014a545)
|
08:42:58 #5 StoredValue::getKey() const ../kv_engine/engines/ep/src/stored-value.h:275 (libep.so+0x000000149035)
|
08:42:58 #6 EphemeralVBucket::pageOut(Collections::VB::ReadHandle const&, HashTable::HashBucketLock const&, StoredValue*&) ../kv_engine/engines/ep/src/ephemeral_vb.cc:123 (libep.so+0x00000034738a)
|
08:42:58 #7 PagingVisitor::doEviction(HashTable::HashBucketLock const&, StoredValue*) ../kv_engine/engines/ep/src/paging_visitor.cc:392 (libep.so+0x0000003dbbc3)
|
08:42:58 #8 PagingVisitor::visit(HashTable::HashBucketLock const&, StoredValue&) ../kv_engine/engines/ep/src/paging_visitor.cc:158 (libep.so+0x0000003db960)
|
08:42:58 #9 non-virtual thunk to PagingVisitor::visit(HashTable::HashBucketLock const&, StoredValue&) ../kv_engine/engines/ep/src/paging_visitor.cc (libep.so+0x0000003dbc89)
|
08:42:58 #10 HashTable::pauseResumeVisit(HashTableVisitor&, HashTable::Position&) ../kv_engine/engines/ep/src/hash_table.cc:1222 (libep.so+0x00000037a268)
|
08:42:58 #11 HashTable::visit(HashTableVisitor&) ../kv_engine/engines/ep/src/hash_table.cc:1119 (libep.so+0x000000379f40)
|
08:42:58 #12 PagingVisitor::visitBucket(std::shared_ptr<VBucket> const&) ../kv_engine/engines/ep/src/paging_visitor.cc:256 (libep.so+0x0000003dbfc1)
|
08:42:58 #13 VBCBAdaptor::run() ../kv_engine/engines/ep/src/kv_bucket.cc:2384 (libep.so+0x0000003a4f26)
|
08:42:58 #14 GlobalTask::execute() ../kv_engine/engines/ep/src/globaltask.cc:73 (libep.so+0x000000374ff9)
|
08:42:58 #15 CB3ExecutorThread::run() ../kv_engine/engines/ep/src/cb3_executorthread.cc:174 (libep.so+0x0000001920c4)
|
08:42:58 #16 launch_executor_thread(void*) ../kv_engine/engines/ep/src/cb3_executorthread.cc:34 (libep.so+0x000000191a95)
|
08:42:58 #17 CouchbaseThread::run() ../platform/src/cb_pthreads.cc:58 (libplatform_so.so.0.1.0+0x00000002aeba)
|
08:42:58 #18 platform_thread_wrap(void*) ../platform/src/cb_pthreads.cc:71 (libplatform_so.so.0.1.0+0x0000000297fe)
|
08:42:58 #19 <null> <null> (libtsan.so.0+0x00000002843b)
|
08:42:58
|
08:42:58 Mutex M951679 (0x7b3400000160) created at:
|
08:42:58 #0 __tsan_atomic32_load <null> (libtsan.so.0+0x0000000607dc)
|
08:42:58 #1 std::__atomic_base<unsigned int>::load(std::memory_order) const /usr/bin/../lib/gcc/x86_64-linux-gnu/7.5.0/../../../../include/c++/7.5.0/bits/atomic_base.h:396 (libep.so+0x0000005934a9)
|
08:42:58 #2 bool folly::SharedMutexImpl<false, void, std::atomic, false, true>::waitForZeroBits<folly::SharedMutexImpl<false, void, std::atomic, false, true>::WaitForever>(unsigned int&, unsigned int, unsigned int, folly::SharedMutexImpl<false, void, std::atomic, false, true>::WaitForever&) folly/SharedMutex.h:1035 (libep.so+0x0000005934a9)
|
08:42:58 #3 bool folly::SharedMutexImpl<false, void, std::atomic, false, true>::lockUpgradeImpl<folly::SharedMutexImpl<false, void, std::atomic, false, true>::WaitForever>(folly::SharedMutexImpl<false, void, std::atomic, false, true>::WaitForever&) folly/SharedMutex.h:1347 (libep.so+0x0000005934a9)
|
08:42:58 #4 folly::SharedMutexImpl<false, void, std::atomic, false, true>::lock_upgrade() folly/SharedMutex.h:536 (libep.so+0x0000005934a9)
|
08:42:58 #5 UpgradeHolder folly/SharedMutex.h:1428 (libep.so+0x0000005934a9)
|
08:42:58 #6 Collections::VB::Manifest::update(VBucket&, Collections::Manifest const&) ../kv_engine/engines/ep/src/collections/vbucket_manifest.cc:137 (libep.so+0x00000054ff07)
|
08:42:58 #7 VBucket::updateFromManifest(Collections::Manifest const&) ../kv_engine/engines/ep/src/vbucket.cc:1808 (libep.so+0x0000004121fd)
|
08:42:58 #8 operator()<Collections::Manifest> ../kv_engine/engines/ep/src/collections/manager.cc:267 (libep.so+0x00000052a376)
|
08:42:58 #9 auto folly::SynchronizedBase<folly::Synchronized<Collections::Manifest, folly::SharedMutexImpl<false, void, std::atomic, false, true> >, (folly::detail::MutexLevel)1>::withRLock<Collections::Manager::update(VBucket&) const::$_2>(Collections::Manager::update(VBucket&) const::$_2&&) const tlm/deps/folly.exploded/include/folly/Synchronized.h:243 (libep.so+0x000000526cf1)
|
08:42:58 #10 Collections::Manager::update(VBucket&) const ../kv_engine/engines/ep/src/collections/manager.cc:266 (libep.so+0x000000526c96)
|
08:42:58 #11 KVBucket::createVBucket_UNLOCKED(Vbid, vbucket_state_t, nlohmann::basic_json<std::map, std::vector, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, bool, long, unsigned long, double, std::allocator, nlohmann::adl_serializer> const*, std::unique_lock<std::mutex>&) ../kv_engine/engines/ep/src/kv_bucket.cc:1022 (libep.so+0x00000039cfc9)
|
08:42:58 #12 KVBucket::setVBucketState(Vbid, vbucket_state_t, nlohmann::basic_json<std::map, std::vector, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, bool, long, unsigned long, double, std::allocator, nlohmann::adl_serializer> const*, TransferVB, void const*) ../kv_engine/engines/ep/src/kv_bucket.cc:874 (libep.so+0x00000039c825)
|
08:42:58 #13 EventuallyPersistentEngine::setVBucketState(void const*, std::function<bool (std::basic_string_view<char, std::char_traits<char> >, std::basic_string_view<char, std::char_traits<char> >, std::basic_string_view<char, std::char_traits<char> >, unsigned char, cb::mcbp::Status, unsigned long, void const*)> const&, Vbid, vbucket_state_t, nlohmann::basic_json<std::map, std::vector, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, bool, long, unsigned long, double, std::allocator, nlohmann::adl_serializer> const*, TransferVB, unsigned long) ../kv_engine/engines/ep/src/ep_engine.cc:6527 (libep.so+0x0000002fb16b)
|
08:42:58 #14 setVBucket(EventuallyPersistentEngine*, void const*, cb::mcbp::Request const&, std::function<bool (std::basic_string_view<char, std::char_traits<char> >, std::basic_string_view<char, std::char_traits<char> >, std::basic_string_view<char, std::char_traits<char> >, unsigned char, cb::mcbp::Status, unsigned long, void const*)> const&) ../kv_engine/engines/ep/src/ep_engine.cc:1020 (libep.so+0x0000002fc148)
|
08:42:58 #15 processUnknownCommand(EventuallyPersistentEngine*, void const*, cb::mcbp::Request const&, std::function<bool (std::basic_string_view<char, std::char_traits<char> >, std::basic_string_view<char, std::char_traits<char> >, std::basic_string_view<char, std::char_traits<char> >, unsigned char, cb::mcbp::Status, unsigned long, void const*)> const&) ../kv_engine/engines/ep/src/ep_engine.cc:1216 (libep.so+0x0000002e99d6)
|
08:42:58 #16 EventuallyPersistentEngine::unknown_command(void const*, cb::mcbp::Request const&, std::function<bool (std::basic_string_view<char, std::char_traits<char> >, std::basic_string_view<char, std::char_traits<char> >, std::basic_string_view<char, std::char_traits<char> >, unsigned char, cb::mcbp::Status, unsigned long, void const*)> const&) ../kv_engine/engines/ep/src/ep_engine.cc:1304 (libep.so+0x0000002e9597)
|
08:42:58 #17 operator() ../kv_engine/programs/engine_testapp/mock_engine.cc:403 (ep_testsuite_dcp+0x00000055a800)
|
08:42:58 #18 std::_Function_handler<ENGINE_ERROR_CODE (), MockEngine::unknown_command(void const*, cb::mcbp::Request const&, std::function<bool (std::basic_string_view<char, std::char_traits<char> >, std::basic_string_view<char, std::char_traits<char> >, std::basic_string_view<char, std::char_traits<char> >, unsigned char, cb::mcbp::Status, unsigned long, void const*)> const&)::$_11>::_M_invoke(std::_Any_data const&) /usr/bin/../lib/gcc/x86_64-linux-gnu/7.5.0/../../../../include/c++/7.5.0/bits/std_function.h:301 (ep_testsuite_dcp+0x00000055a5ed)
|
08:42:58 #19 std::function<ENGINE_ERROR_CODE ()>::operator()() const /usr/bin/../lib/gcc/x86_64-linux-gnu/7.5.0/../../../../include/c++/7.5.0/bits/std_function.h:706 (ep_testsuite_dcp+0x00000055c998)
|
08:42:58 #20 call_engine_and_handle_EWOULDBLOCK(MockCookie*, std::function<ENGINE_ERROR_CODE ()> const&) ../kv_engine/programs/engine_testapp/mock_engine.cc:60 (ep_testsuite_dcp+0x000000553497)
|
08:42:58 #21 MockEngine::unknown_command(void const*, cb::mcbp::Request const&, std::function<bool (std::basic_string_view<char, std::char_traits<char> >, std::basic_string_view<char, std::char_traits<char> >, std::basic_string_view<char, std::char_traits<char> >, unsigned char, cb::mcbp::Status, unsigned long, void const*)> const&) ../kv_engine/programs/engine_testapp/mock_engine.cc:406 (ep_testsuite_dcp+0x000000554d65)
|
08:42:58 #22 set_vbucket_state(EngineIface*, Vbid, vbucket_state_t, std::basic_string_view<char, std::char_traits<char> >) ../kv_engine/engines/ep/tests/ep_test_apis.cc:769 (ep_testsuite_dcp+0x00000048d549)
|
08:42:58 #23 test_setup(EngineIface*) ../kv_engine/engines/ep/tests/ep_testsuite_common.cc:135 (ep_testsuite_dcp+0x000000480fae)
|
08:42:58 #24 execute_test(test, char const*, char const*) ../kv_engine/programs/engine_testapp/engine_testapp.cc:371 (ep_testsuite_dcp+0x0000004a6a7c)
|
08:42:58 #25 main ../kv_engine/programs/engine_testapp/engine_testapp.cc:629 (ep_testsuite_dcp+0x0000004a5eab)
|
08:42:58
|
08:42:58 Mutex M952483 (0x7b7000002348) created at:
|
08:42:58 #0 pthread_mutex_lock <null> (libtsan.so.0+0x00000003bbbf)
|
08:42:58 #1 __gthread_mutex_lock(pthread_mutex_t*) /usr/bin/../lib/gcc/x86_64-linux-gnu/7.5.0/../../../../include/x86_64-linux-gnu/c++/7.5.0/bits/gthr-default.h:748 (ep_testsuite_dcp+0x000000492d53)
|
08:42:58 #2 std::mutex::lock() /usr/bin/../lib/gcc/x86_64-linux-gnu/7.5.0/../../../../include/c++/7.5.0/bits/std_mutex.h:103 (ep_testsuite_dcp+0x000000497c15)
|
08:42:58 #3 std::unique_lock<std::mutex>::lock() /usr/bin/../lib/gcc/x86_64-linux-gnu/7.5.0/../../../../include/c++/7.5.0/bits/std_mutex.h:267 (ep_testsuite_dcp+0x00000051a52b)
|
08:42:58 #4 unique_lock /usr/bin/../lib/gcc/x86_64-linux-gnu/7.5.0/../../../../include/c++/7.5.0/bits/std_mutex.h:197 (ep_testsuite_dcp+0x00000051a461)
|
08:42:58 #5 HashBucketLock ../kv_engine/engines/ep/src/hash_table.h:341 (libep.so+0x00000020469e)
|
08:42:58 #6 HashTable::pauseResumeVisit(HashTableVisitor&, HashTable::Position&) ../kv_engine/engines/ep/src/hash_table.cc:1217 (libep.so+0x00000037a1f0)
|
08:42:58 #7 PauseResumeVBAdapter::visit(VBucket&) ../kv_engine/engines/ep/src/vb_visitors.cc:55 (libep.so+0x000000409193)
|
08:42:58 #8 KVBucket::pauseResumeVisit(PauseResumeVBVisitor&, KVBucketIface::Position&) ../kv_engine/engines/ep/src/kv_bucket.cc:2320 (libep.so+0x0000003a48b8)
|
08:42:58 #9 ItemCompressorTask::run() ../kv_engine/engines/ep/src/item_compressor.cc:73 (libep.so+0x000000386656)
|
08:42:58 #10 GlobalTask::execute() ../kv_engine/engines/ep/src/globaltask.cc:73 (libep.so+0x000000374ff9)
|
08:42:58 #11 CB3ExecutorThread::run() ../kv_engine/engines/ep/src/cb3_executorthread.cc:174 (libep.so+0x0000001920c4)
|
08:42:58 #12 launch_executor_thread(void*) ../kv_engine/engines/ep/src/cb3_executorthread.cc:34 (libep.so+0x000000191a95)
|
08:42:58 #13 CouchbaseThread::run() ../platform/src/cb_pthreads.cc:58 (libplatform_so.so.0.1.0+0x00000002aeba)
|
08:42:58 #14 platform_thread_wrap(void*) ../platform/src/cb_pthreads.cc:71 (libplatform_so.so.0.1.0+0x0000000297fe)
|
08:42:58 #15 <null> <null> (libtsan.so.0+0x00000002843b)
|
08:42:58
|
08:42:58 Thread T18 'mc:NonIO_2' (tid=68646, running) created by main thread at:
|
08:42:58 #0 pthread_create <null> (libtsan.so.0+0x00000002b6f0)
|
08:42:58 #1 cb_create_named_thread(unsigned long*, void (*)(void*), void*, int, char const*) ../platform/src/cb_pthreads.cc:109 (libplatform_so.so.0.1.0+0x00000002974e)
|
08:42:58 #2 CB3ExecutorThread::start() ../kv_engine/engines/ep/src/cb3_executorthread.cc:51 (libep.so+0x00000019190c)
|
08:42:58 #3 CB3ExecutorPool::_adjustWorkers(task_type_t, unsigned long) ../kv_engine/engines/ep/src/cb3_executorpool.cc:465 (libep.so+0x00000016da7b)
|
08:42:58 #4 CB3ExecutorPool::_startWorkers() ../kv_engine/engines/ep/src/cb3_executorpool.cc:528 (libep.so+0x00000016e0f2)
|
08:42:58 #5 CB3ExecutorPool::_registerTaskable(Taskable&) ../kv_engine/engines/ep/src/cb3_executorpool.cc:419 (libep.so+0x00000016d7a6)
|
08:42:58 #6 CB3ExecutorPool::registerTaskable(Taskable&) ../kv_engine/engines/ep/src/cb3_executorpool.cc:424 (libep.so+0x00000016d816)
|
08:42:58 #7 KVBucket ../kv_engine/engines/ep/src/kv_bucket.cc:325 (libep.so+0x0000003990ed)
|
08:42:58 #8 EphemeralBucket ../kv_engine/engines/ep/src/ephemeral_bucket.cc:98 (libep.so+0x0000003392a7)
|
08:42:58 #9 std::_MakeUniq<EphemeralBucket>::__single_object std::make_unique<EphemeralBucket, EventuallyPersistentEngine&>(EventuallyPersistentEngine&) /usr/bin/../lib/gcc/x86_64-linux-gnu/7.5.0/../../../../include/c++/7.5.0/bits/unique_ptr.h:821 (libep.so+0x000000306394)
|
08:42:58 #10 EventuallyPersistentEngine::makeBucket(Configuration&) ../kv_engine/engines/ep/src/ep_engine.cc:6512 (libep.so+0x0000002ef2a3)
|
08:42:58 #11 EventuallyPersistentEngine::initialize(char const*) ../kv_engine/engines/ep/src/ep_engine.cc:2202 (libep.so+0x0000002eed0b)
|
08:42:58 #12 MockTestHarness::create_bucket(bool, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) ../kv_engine/programs/engine_testapp/engine_testapp.cc:212 (ep_testsuite_dcp+0x0000004a7aa7)
|
08:42:58 #13 execute_test(test, char const*, char const*) ../kv_engine/programs/engine_testapp/engine_testapp.cc:366 (ep_testsuite_dcp+0x0000004a6a25)
|
08:42:58 #14 main ../kv_engine/programs/engine_testapp/engine_testapp.cc:629 (ep_testsuite_dcp+0x0000004a5eab)
|
08:42:58
|
08:42:58 Thread T7 'mc:NonIO_0' (tid=68643, running) created by main thread at:
|
08:42:58 #0 pthread_create <null> (libtsan.so.0+0x00000002b6f0)
|
08:42:58 #1 cb_create_named_thread(unsigned long*, void (*)(void*), void*, int, char const*) ../platform/src/cb_pthreads.cc:109 (libplatform_so.so.0.1.0+0x00000002974e)
|
08:42:58 #2 CB3ExecutorThread::start() ../kv_engine/engines/ep/src/cb3_executorthread.cc:51 (libep.so+0x00000019190c)
|
08:42:58 #3 CB3ExecutorPool::_adjustWorkers(task_type_t, unsigned long) ../kv_engine/engines/ep/src/cb3_executorpool.cc:465 (libep.so+0x00000016da7b)
|
08:42:58 #4 CB3ExecutorPool::_startWorkers() ../kv_engine/engines/ep/src/cb3_executorpool.cc:528 (libep.so+0x00000016e0f2)
|
08:42:58 #5 CB3ExecutorPool::_registerTaskable(Taskable&) ../kv_engine/engines/ep/src/cb3_executorpool.cc:419 (libep.so+0x00000016d7a6)
|
08:42:58 #6 CB3ExecutorPool::registerTaskable(Taskable&) ../kv_engine/engines/ep/src/cb3_executorpool.cc:424 (libep.so+0x00000016d816)
|
08:42:58 #7 KVBucket ../kv_engine/engines/ep/src/kv_bucket.cc:325 (libep.so+0x0000003990ed)
|
08:42:58 #8 EphemeralBucket ../kv_engine/engines/ep/src/ephemeral_bucket.cc:98 (libep.so+0x0000003392a7)
|
08:42:58 #9 std::_MakeUniq<EphemeralBucket>::__single_object std::make_unique<EphemeralBucket, EventuallyPersistentEngine&>(EventuallyPersistentEngine&) /usr/bin/../lib/gcc/x86_64-linux-gnu/7.5.0/../../../../include/c++/7.5.0/bits/unique_ptr.h:821 (libep.so+0x000000306394)
|
08:42:58 #10 EventuallyPersistentEngine::makeBucket(Configuration&) ../kv_engine/engines/ep/src/ep_engine.cc:6512 (libep.so+0x0000002ef2a3)
|
08:42:58 #11 EventuallyPersistentEngine::initialize(char const*) ../kv_engine/engines/ep/src/ep_engine.cc:2202 (libep.so+0x0000002eed0b)
|
08:42:58 #12 MockTestHarness::create_bucket(bool, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) ../kv_engine/programs/engine_testapp/engine_testapp.cc:212 (ep_testsuite_dcp+0x0000004a7aa7)
|
08:42:58 #13 execute_test(test, char const*, char const*) ../kv_engine/programs/engine_testapp/engine_testapp.cc:366 (ep_testsuite_dcp+0x0000004a6a25)
|
08:42:58 #14 main ../kv_engine/programs/engine_testapp/engine_testapp.cc:629 (ep_testsuite_dcp+0x0000004a5eab)
|
08:42:58
|
08:42:58
|
SUMMARY: ThreadSanitizer: data race (/home/couchbase/jenkins/workspace/kv_engine.threadsanitizer_master/install/lib/libtsan.so.0+0x2ac56) in __interceptor_free
|
08:42:58 ==================
|
08:42:58 ==================
|
08:42:58 WARNING: ThreadSanitizer: data race (pid=47267)
|
08:42:58 Write of size 8 at 0x7b1800141ef0 by thread T18:
|
08:42:58 #0 free <null> (libtsan.so.0+0x00000002ac56)
|
08:42:58 #1 cb::SystemArenaMalloc::free(void*) ../platform/src/system_arena_malloc.cc:121 (libplatform_so.so.0.1.0+0x00000004a07d)
|
08:42:58 #2 cb::_ArenaMalloc<cb::SystemArenaMalloc>::free(void*) ../platform/include/platform/cb_arena_malloc.h:161 (ep_testsuite_dcp+0x000000551d85)
|
08:42:58 #3 cb_free ../platform/src/cb_malloc_arena.cc:66 (ep_testsuite_dcp+0x000000551a4d)
|
08:42:58 #4 operator delete(void*) ../platform/src/global_new_replacement.cc:84 (ep_testsuite_dcp+0x0000005516e5)
|
08:42:58 #5 OrderedStoredValue::operator delete(void*) ../kv_engine/engines/ep/src/stored-value.h:1120 (libep.so+0x0000003e93b5)
|
08:42:58 #6 std::default_delete<OrderedStoredValue>::operator()(OrderedStoredValue*) const /usr/bin/../lib/gcc/x86_64-linux-gnu/7.5.0/../../../../include/c++/7.5.0/bits/unique_ptr.h:78 (libep.so+0x0000003ebe42)
|
08:42:58 #7 ~unique_ptr /usr/bin/../lib/gcc/x86_64-linux-gnu/7.5.0/../../../../include/c++/7.5.0/bits/unique_ptr.h:263 (libep.so+0x0000003e6d97)
|
08:42:58 #8 BasicLinkedList::purgeListElem(boost::intrusive::list_iterator<boost::intrusive::mhtraits<OrderedStoredValue, boost::intrusive::list_member_hook<void, void, void>, &OrderedStoredValue::seqno_hook>, false>, bool) ../kv_engine/engines/ep/src/linked_list.cc:532 (libep.so+0x0000003e40a3)
|
08:42:58 #9 BasicLinkedList::purgeTombstones(long, std::function<bool (DocKey const&, long, bool)>, std::function<bool ()>) ../kv_engine/engines/ep/src/linked_list.cc:392 (libep.so+0x0000003e3cc6)
|
08:42:58 #10 EphemeralVBucket::purgeStaleItems(std::function<bool ()>) ../kv_engine/engines/ep/src/ephemeral_vb.cc:373 (libep.so+0x000000348392)
|
08:42:58 #11 EphemeralVBucket::StaleItemDeleter::visit(VBucket&) ../kv_engine/engines/ep/src/ephemeral_tombstone_purger.cc:211 (libep.so+0x000000345eee)
|
08:42:58 #12 KVBucket::pauseResumeVisit(PauseResumeVBVisitor&, KVBucketIface::Position&) ../kv_engine/engines/ep/src/kv_bucket.cc:2320 (libep.so+0x0000003a48b8)
|
08:42:58 #13 EphTombstoneStaleItemDeleter::run() ../kv_engine/engines/ep/src/ephemeral_tombstone_purger.cc:280 (libep.so+0x0000003426ac)
|
08:42:58 #14 GlobalTask::execute() ../kv_engine/engines/ep/src/globaltask.cc:73 (libep.so+0x000000374ff9)
|
08:42:58 #15 CB3ExecutorThread::run() ../kv_engine/engines/ep/src/cb3_executorthread.cc:174 (libep.so+0x0000001920c4)
|
08:42:58 #16 launch_executor_thread(void*) ../kv_engine/engines/ep/src/cb3_executorthread.cc:34 (libep.so+0x000000191a95)
|
08:42:58 #17 CouchbaseThread::run() ../platform/src/cb_pthreads.cc:58 (libplatform_so.so.0.1.0+0x00000002aeba)
|
08:42:58 #18 platform_thread_wrap(void*) ../platform/src/cb_pthreads.cc:71 (libplatform_so.so.0.1.0+0x0000000297fe)
|
08:42:58 #19 <null> <null> (libtsan.so.0+0x00000002843b)
|
08:42:58
|
08:42:58 Previous read of size 1 at 0x7b1800141ef0 by thread T7:
|
08:42:58 [failed to restore the stack]
|
08:42:58
|
08:42:58 Thread T18 'mc:NonIO_2' (tid=68646, running) created by main thread at:
|
08:42:58 #0 pthread_create <null> (libtsan.so.0+0x00000002b6f0)
|
08:42:58 #1 cb_create_named_thread(unsigned long*, void (*)(void*), void*, int, char const*) ../platform/src/cb_pthreads.cc:109 (libplatform_so.so.0.1.0+0x00000002974e)
|
08:42:58 #2 CB3ExecutorThread::start() ../kv_engine/engines/ep/src/cb3_executorthread.cc:51 (libep.so+0x00000019190c)
|
08:42:58 #3 CB3ExecutorPool::_adjustWorkers(task_type_t, unsigned long) ../kv_engine/engines/ep/src/cb3_executorpool.cc:465 (libep.so+0x00000016da7b)
|
08:42:58 #4 CB3ExecutorPool::_startWorkers() ../kv_engine/engines/ep/src/cb3_executorpool.cc:528 (libep.so+0x00000016e0f2)
|
08:42:58 #5 CB3ExecutorPool::_registerTaskable(Taskable&) ../kv_engine/engines/ep/src/cb3_executorpool.cc:419 (libep.so+0x00000016d7a6)
|
08:42:58 #6 CB3ExecutorPool::registerTaskable(Taskable&) ../kv_engine/engines/ep/src/cb3_executorpool.cc:424 (libep.so+0x00000016d816)
|
08:42:58 #7 KVBucket ../kv_engine/engines/ep/src/kv_bucket.cc:325 (libep.so+0x0000003990ed)
|
08:42:58 #8 EphemeralBucket ../kv_engine/engines/ep/src/ephemeral_bucket.cc:98 (libep.so+0x0000003392a7)
|
08:42:58 #9 std::_MakeUniq<EphemeralBucket>::__single_object std::make_unique<EphemeralBucket, EventuallyPersistentEngine&>(EventuallyPersistentEngine&) /usr/bin/../lib/gcc/x86_64-linux-gnu/7.5.0/../../../../include/c++/7.5.0/bits/unique_ptr.h:821 (libep.so+0x000000306394)
|
08:42:58 #10 EventuallyPersistentEngine::makeBucket(Configuration&) ../kv_engine/engines/ep/src/ep_engine.cc:6512 (libep.so+0x0000002ef2a3)
|
08:42:58 #11 EventuallyPersistentEngine::initialize(char const*) ../kv_engine/engines/ep/src/ep_engine.cc:2202 (libep.so+0x0000002eed0b)
|
08:42:58 #12 MockTestHarness::create_bucket(bool, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) ../kv_engine/programs/engine_testapp/engine_testapp.cc:212 (ep_testsuite_dcp+0x0000004a7aa7)
|
08:42:58 #13 execute_test(test, char const*, char const*) ../kv_engine/programs/engine_testapp/engine_testapp.cc:366 (ep_testsuite_dcp+0x0000004a6a25)
|
08:42:58 #14 main ../kv_engine/programs/engine_testapp/engine_testapp.cc:629 (ep_testsuite_dcp+0x0000004a5eab)
|
08:42:58
|
08:42:58 Thread T7 'mc:NonIO_0' (tid=68643, running) created by main thread at:
|
08:42:58 #0 pthread_create <null> (libtsan.so.0+0x00000002b6f0)
|
08:42:58 #1 cb_create_named_thread(unsigned long*, void (*)(void*), void*, int, char const*) ../platform/src/cb_pthreads.cc:109 (libplatform_so.so.0.1.0+0x00000002974e)
|
08:42:58 #2 CB3ExecutorThread::start() ../kv_engine/engines/ep/src/cb3_executorthread.cc:51 (libep.so+0x00000019190c)
|
08:42:58 #3 CB3ExecutorPool::_adjustWorkers(task_type_t, unsigned long) ../kv_engine/engines/ep/src/cb3_executorpool.cc:465 (libep.so+0x00000016da7b)
|
08:42:58 #4 CB3ExecutorPool::_startWorkers() ../kv_engine/engines/ep/src/cb3_executorpool.cc:528 (libep.so+0x00000016e0f2)
|
08:42:58 #5 CB3ExecutorPool::_registerTaskable(Taskable&) ../kv_engine/engines/ep/src/cb3_executorpool.cc:419 (libep.so+0x00000016d7a6)
|
08:42:58 #6 CB3ExecutorPool::registerTaskable(Taskable&) ../kv_engine/engines/ep/src/cb3_executorpool.cc:424 (libep.so+0x00000016d816)
|
08:42:58 #7 KVBucket ../kv_engine/engines/ep/src/kv_bucket.cc:325 (libep.so+0x0000003990ed)
|
08:42:58 #8 EphemeralBucket ../kv_engine/engines/ep/src/ephemeral_bucket.cc:98 (libep.so+0x0000003392a7)
|
08:42:58 #9 std::_MakeUniq<EphemeralBucket>::__single_object std::make_unique<EphemeralBucket, EventuallyPersistentEngine&>(EventuallyPersistentEngine&) /usr/bin/../lib/gcc/x86_64-linux-gnu/7.5.0/../../../../include/c++/7.5.0/bits/unique_ptr.h:821 (libep.so+0x000000306394)
|
08:42:58 #10 EventuallyPersistentEngine::makeBucket(Configuration&) ../kv_engine/engines/ep/src/ep_engine.cc:6512 (libep.so+0x0000002ef2a3)
|
08:42:58 #11 EventuallyPersistentEngine::initialize(char const*) ../kv_engine/engines/ep/src/ep_engine.cc:2202 (libep.so+0x0000002eed0b)
|
08:42:58 #12 MockTestHarness::create_bucket(bool, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) ../kv_engine/programs/engine_testapp/engine_testapp.cc:212 (ep_testsuite_dcp+0x0000004a7aa7)
|
08:42:58 #13 execute_test(test, char const*, char const*) ../kv_engine/programs/engine_testapp/engine_testapp.cc:366 (ep_testsuite_dcp+0x0000004a6a25)
|
08:42:58 #14 main ../kv_engine/programs/engine_testapp/engine_testapp.cc:629 (ep_testsuite_dcp+0x0000004a5eab)
|
08:42:58
|
08:42:58 SUMMARY: ThreadSanitizer: data race (/home/couchbase/jenkins/workspace/kv_engine.threadsanitizer_master/install/lib/libtsan.so.0+0x2ac56) in __interceptor_free
|
08:42:58 ==================
|
Attachments
Issue Links
- duplicates
-
MB-41407 ThreadSanitizer: heap-use-after-free on OrderedStoredValue
- Closed