Created
          September 9, 2020 09:03 
        
      - 
      
- 
        Save daverigby/fa268b48d89220d4cac4b81033a70e66 to your computer and use it in GitHub Desktop. 
  
    
      This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
      Learn more about bidirectional Unicode characters
    
  
  
    
  | [ RUN ] ExecutorPoolEpEngineTest/1.cancel_can_schedule | |
| [New Thread 0x7ffff1547700 (LWP 11270)] | |
| ================== | |
| WARNING: ThreadSanitizer: data race (pid=11268) | |
| Write of size 4 at 0x7fffffffde5c by main thread: | |
| #0 folly::EventBase::runInEventBaseThreadAndWait(folly::Function<void ()>) /home/couchbase/jenkins/workspace/cbdeps-platform-build-old/deps/packages/build/folly/follytsan-prefix/src/follytsan/folly/io/async/EventBase.cpp:661 (ep-engine_ep_unit_tests+0x00000171e04e) | |
| #1 FollyExecutorPool::unregisterTaskable(Taskable&, bool) ../kv_engine/engines/ep/src/folly_executorpool.cc:615 (ep-engine_ep_unit_tests+0x00000062f2b1) | |
| #2 KVBucket::deinitialize() ../kv_engine/engines/ep/src/kv_bucket.cc:489 (ep-engine_ep_unit_tests+0x000000676e45) | |
| #3 EPBucket::deinitialize() ../kv_engine/engines/ep/src/ep_bucket.cc:316 (ep-engine_ep_unit_tests+0x0000005ae8d8) | |
| #4 EventuallyPersistentEngine::~EventuallyPersistentEngine() ../kv_engine/engines/ep/src/ep_engine.cc:6548 (ep-engine_ep_unit_tests+0x0000005ebea4) | |
| #5 SynchronousEPEngine::~SynchronousEPEngine() ../kv_engine/engines/ep/tests/mock/mock_synchronous_ep_engine.h:43 (ep-engine_ep_unit_tests+0x0000007f6979) | |
| #6 SynchronousEPEngine::~SynchronousEPEngine() ../kv_engine/engines/ep/tests/mock/mock_synchronous_ep_engine.h:43 (ep-engine_ep_unit_tests+0x0000007f6979) | |
| #7 SynchronousEPEngineDeleter::operator()(SynchronousEPEngine*) ../kv_engine/engines/ep/tests/mock/mock_synchronous_ep_engine.cc:129 (ep-engine_ep_unit_tests+0x0000007f581b) | |
| #8 std::unique_ptr<SynchronousEPEngine, SynchronousEPEngineDeleter>::reset(SynchronousEPEngine*) /usr/local/include/c++/7.3.0/bits/unique_ptr.h:376 (ep-engine_ep_unit_tests+0x0000012d89ea) | |
| #9 ExecutorPoolEpEngineTest<FollyExecutorPool>::TearDown() ../kv_engine/engines/ep/tests/module_tests/executorpool_test.cc:1001 (ep-engine_ep_unit_tests+0x0000012d89ea) | |
| #10 void testing::internal::HandleSehExceptionsInMethodIfSupported<testing::Test, void>(testing::Test*, void (testing::Test::*)(), char const*) ../third_party/googletest/googletest/src/gtest.cc:2433 (ep-engine_ep_unit_tests+0x000001662a28) | |
| #11 void testing::internal::HandleExceptionsInMethodIfSupported<testing::Test, void>(testing::Test*, void (testing::Test::*)(), char const*) ../third_party/googletest/googletest/src/gtest.cc:2469 (ep-engine_ep_unit_tests+0x000001662a28) | |
| #12 testing::Test::Run() ../third_party/googletest/googletest/src/gtest.cc:2516 (ep-engine_ep_unit_tests+0x00000164e628) | |
| #13 testing::TestInfo::Run() ../third_party/googletest/googletest/src/gtest.cc:2684 (ep-engine_ep_unit_tests+0x00000164e904) | |
| #14 testing::TestSuite::Run() ../third_party/googletest/googletest/src/gtest.cc:2816 (ep-engine_ep_unit_tests+0x00000164ebe1) | |
| #15 testing::internal::UnitTestImpl::RunAllTests() ../third_party/googletest/googletest/src/gtest.cc:5338 (ep-engine_ep_unit_tests+0x000001655d2e) | |
| #16 bool testing::internal::HandleSehExceptionsInMethodIfSupported<testing::internal::UnitTestImpl, bool>(testing::internal::UnitTestImpl*, bool (testing::internal::UnitTestImpl::*)(), char const*) ../third_party/googletest/googletest/src/gtest.cc:2433 (ep-engine_ep_unit_tests+0x0000016562f3) | |
| #17 bool testing::internal::HandleExceptionsInMethodIfSupported<testing::internal::UnitTestImpl, bool>(testing::internal::UnitTestImpl*, bool (testing::internal::UnitTestImpl::*)(), char const*) ../third_party/googletest/googletest/src/gtest.cc:2469 (ep-engine_ep_unit_tests+0x0000016562f3) | |
| #18 testing::UnitTest::Run() ../third_party/googletest/googletest/src/gtest.cc:4925 (ep-engine_ep_unit_tests+0x0000016562f3) | |
| #19 RUN_ALL_TESTS() ../third_party/googletest/googletest/include/gtest/gtest.h:2473 (ep-engine_ep_unit_tests+0x000000f9ea58) | |
| #20 main ../kv_engine/engines/ep/tests/module_tests/ep_unit_tests_main.cc:175 (ep-engine_ep_unit_tests+0x000000f9ea58) | |
| Previous atomic write of size 4 at 0x7fffffffde5c by thread T1: | |
| #0 __tsan_atomic32_compare_exchange_strong <null> (libtsan.so.0+0x000000064842) | |
| #1 std::__atomic_base<unsigned int>::compare_exchange_strong(unsigned int&, unsigned int, std::memory_order, std::memory_order) /usr/local/include/c++/7.3.0/bits/atomic_base.h:477 (ep-engine_ep_unit_tests+0x000001716be7) | |
| #2 folly::Baton<true, std::atomic>::post() /home/couchbase/jenkins/workspace/cbdeps-platform-build-old/deps/packages/build/folly/follytsan-prefix/src/follytsan/folly/synchronization/Baton.h:140 (ep-engine_ep_unit_tests+0x000001716be7) | |
| #3 operator() /home/couchbase/jenkins/workspace/cbdeps-platform-build-old/deps/packages/build/folly/follytsan-prefix/src/follytsan/folly/io/async/EventBase.cpp:664 (ep-engine_ep_unit_tests+0x000001716be7) | |
| #4 catch_exception<folly::EventBase::runInEventBaseThreadAndWait(folly::EventBase::Func)::<lambda()> mutable::<lambda()>&, folly::detail::ScopeGuardImpl<FunctionType, InvokeNoexcept>::execute() [with FunctionType = folly::EventBase::runInEventBaseThreadAndWait(folly::EventBase::Func)::<lambda()> mutable::<lambda()>; bool InvokeNoexcept = true]::<lambda()>&> /home/couchbase/jenkins/workspace/cbdeps-platform-build-old/deps/packages/build/folly/follytsan-prefix/src/follytsan/folly/lang/Exception.h:230 (ep-engine_ep_unit_tests+0x000001716be7) | |
| #5 execute /home/couchbase/jenkins/workspace/cbdeps-platform-build-old/deps/packages/build/folly/follytsan-prefix/src/follytsan/folly/ScopeGuard.h:126 (ep-engine_ep_unit_tests+0x000001716be7) | |
| #6 ~ScopeGuardImpl /home/couchbase/jenkins/workspace/cbdeps-platform-build-old/deps/packages/build/folly/follytsan-prefix/src/follytsan/folly/ScopeGuard.h:98 (ep-engine_ep_unit_tests+0x000001716be7) | |
| #7 operator() /home/couchbase/jenkins/workspace/cbdeps-platform-build-old/deps/packages/build/folly/follytsan-prefix/src/follytsan/folly/io/async/EventBase.cpp:665 (ep-engine_ep_unit_tests+0x000001716be7) | |
| #8 callBig<folly::EventBase::runInEventBaseThreadAndWait(folly::EventBase::Func)::<lambda()> > /home/couchbase/jenkins/workspace/cbdeps-platform-build-old/deps/packages/build/folly/follytsan-prefix/src/follytsan/folly/Function.h:401 (ep-engine_ep_unit_tests+0x000001716be7) | |
| #9 folly::detail::function::FunctionTraits<void ()>::operator()() /home/couchbase/jenkins/workspace/cbdeps-platform-build-old/deps/packages/build/folly/follytsan-prefix/src/follytsan/folly/Function.h:416 (ep-engine_ep_unit_tests+0x000001725a82) | |
| #10 folly::EventBase::FunctionRunner::messageAvailable(folly::Function<void ()>&&) /home/couchbase/jenkins/workspace/cbdeps-platform-build-old/deps/packages/build/folly/follytsan-prefix/src/follytsan/folly/io/async/EventBase.cpp:135 (ep-engine_ep_unit_tests+0x000001725a82) | |
| #11 folly::NotificationQueue<folly::Function<void ()> >::Consumer::consumeMessages(bool, unsigned long*) /home/couchbase/jenkins/workspace/cbdeps-platform-build-old/deps/packages/build/folly/follytsan-prefix/src/follytsan/folly/io/async/NotificationQueue.h:729 (ep-engine_ep_unit_tests+0x000001725a82) | |
| #12 folly::NotificationQueue<folly::Function<void ()> >::Consumer::handlerReady(unsigned short) /home/couchbase/jenkins/workspace/cbdeps-platform-build-old/deps/packages/build/folly/follytsan-prefix/src/follytsan/folly/io/async/NotificationQueue.h:663 (ep-engine_ep_unit_tests+0x000001725e09) | |
| #13 folly::EventHandler::libeventCallback(int, short, void*) /home/couchbase/jenkins/workspace/cbdeps-platform-build-old/deps/packages/build/folly/follytsan-prefix/src/follytsan/folly/io/async/EventHandler.cpp:158 (ep-engine_ep_unit_tests+0x00000172a420) | |
| #14 event_persist_closure /home/couchbase/jenkins/workspace/cbdeps-platform-build-old/deps/packages/build/libevent/libevent-prefix/src/libevent/event.c:1629 (libevent_core-2.1.so.7+0x000000017f39) | |
| #15 event_process_active_single_queue /home/couchbase/jenkins/workspace/cbdeps-platform-build-old/deps/packages/build/libevent/libevent-prefix/src/libevent/event.c:1688 (libevent_core-2.1.so.7+0x000000017f39) | |
| #16 folly::EventBase::loopBody(int, bool) /home/couchbase/jenkins/workspace/cbdeps-platform-build-old/deps/packages/build/folly/follytsan-prefix/src/follytsan/folly/io/async/EventBase.cpp:394 (ep-engine_ep_unit_tests+0x00000171bc0a) | |
| #17 folly::EventBase::loop() /home/couchbase/jenkins/workspace/cbdeps-platform-build-old/deps/packages/build/folly/follytsan-prefix/src/follytsan/folly/io/async/EventBase.cpp:312 (ep-engine_ep_unit_tests+0x00000171dd1b) | |
| #18 folly::EventBase::loopForever() /home/couchbase/jenkins/workspace/cbdeps-platform-build-old/deps/packages/build/folly/follytsan-prefix/src/follytsan/folly/io/async/EventBase.cpp:535 (ep-engine_ep_unit_tests+0x00000171dd1b) | |
| #19 folly::IOThreadPoolExecutor::threadRun(std::shared_ptr<folly::ThreadPoolExecutor::Thread>) /home/couchbase/jenkins/workspace/cbdeps-platform-build-old/deps/packages/build/folly/follytsan-prefix/src/follytsan/folly/executors/IOThreadPoolExecutor.cpp:184 (ep-engine_ep_unit_tests+0x0000016ff840) | |
| #20 void std::__invoke_impl<void, void (folly::ThreadPoolExecutor::*&)(std::shared_ptr<folly::ThreadPoolExecutor::Thread>), folly::ThreadPoolExecutor*&, std::shared_ptr<folly::ThreadPoolExecutor::Thread>&>(std::__invoke_memfun_deref, void (folly::ThreadPoolExecutor::*&)(std::shared_ptr<folly::ThreadPoolExecutor::Thread>), folly::ThreadPoolExecutor*&, std::shared_ptr<folly::ThreadPoolExecutor::Thread>&) /usr/local/include/c++/7.3.0/bits/invoke.h:73 (ep-engine_ep_unit_tests+0x000001712dfb) | |
| #21 std::__invoke_result<void (folly::ThreadPoolExecutor::*&)(std::shared_ptr<folly::ThreadPoolExecutor::Thread>), folly::ThreadPoolExecutor*&, std::shared_ptr<folly::ThreadPoolExecutor::Thread>&>::type std::__invoke<void (folly::ThreadPoolExecutor::*&)(std::shared_ptr<folly::ThreadPoolExecutor::Thread>), folly::ThreadPoolExecutor*&, std::shared_ptr<folly::ThreadPoolExecutor::Thread>&>(void (folly::ThreadPoolExecutor::*&)(std::shared_ptr<folly::ThreadPoolExecutor::Thread>), folly::ThreadPoolExecutor*&, std::shared_ptr<folly::ThreadPoolExecutor::Thread>&) /usr/local/include/c++/7.3.0/bits/invoke.h:95 (ep-engine_ep_unit_tests+0x000001712dfb) | |
| #22 void std::_Bind<void (folly::ThreadPoolExecutor::*(folly::ThreadPoolExecutor*, std::shared_ptr<folly::ThreadPoolExecutor::Thread>))(std::shared_ptr<folly::ThreadPoolExecutor::Thread>)>::__call<void, , 0ul, 1ul>(std::tuple<>&&, std::_Index_tuple<0ul, 1ul>) /usr/local/include/c++/7.3.0/functional:467 (ep-engine_ep_unit_tests+0x000001712dfb) | |
| #23 void std::_Bind<void (folly::ThreadPoolExecutor::*(folly::ThreadPoolExecutor*, std::shared_ptr<folly::ThreadPoolExecutor::Thread>))(std::shared_ptr<folly::ThreadPoolExecutor::Thread>)>::operator()<, void>() /usr/local/include/c++/7.3.0/functional:551 (ep-engine_ep_unit_tests+0x000001712dfb) | |
| #24 void folly::detail::function::FunctionTraits<void ()>::callBig<std::_Bind<void (folly::ThreadPoolExecutor::*(folly::ThreadPoolExecutor*, std::shared_ptr<folly::ThreadPoolExecutor::Thread>))(std::shared_ptr<folly::ThreadPoolExecutor::Thread>)> >(folly::detail::function::Data&) /home/couchbase/jenkins/workspace/cbdeps-platform-build-old/deps/packages/build/folly/follytsan-prefix/src/follytsan/folly/Function.h:401 (ep-engine_ep_unit_tests+0x000001712dfb) | |
| #25 folly::detail::function::FunctionTraits<void ()>::operator()() /home/couchbase/jenkins/workspace/cbdeps-platform-build-old/deps/packages/build/folly/follytsan-prefix/src/follytsan/folly/Function.h:416 (ep-engine_ep_unit_tests+0x00000063177a) | |
| #26 folly::NamedThreadFactory::newThread(folly::Function<void ()>&&)::{lambda()#1}::operator()() /home/couchbase/jenkins/workspace/cbdeps-platform-build-old/deps/packages/build/folly/follytsan-prefix/src/follytsan/folly/executors/thread_factory/NamedThreadFactory.h:40 (ep-engine_ep_unit_tests+0x00000063177a) | |
| #27 void std::__invoke_impl<void, folly::NamedThreadFactory::newThread(folly::Function<void ()>&&)::{lambda()#1}>(std::__invoke_other, folly::NamedThreadFactory::newThread(folly::Function<void ()>&&)::{lambda()#1}&&) /usr/local/include/c++/7.3.0/bits/invoke.h:60 (ep-engine_ep_unit_tests+0x00000063177a) | |
| #28 std::__invoke_result<folly::NamedThreadFactory::newThread(folly::Function<void ()>&&)::{lambda()#1}>::type std::__invoke<folly::NamedThreadFactory::newThread(folly::Function<void ()>&&)::{lambda()#1}>(std::__invoke_result&&, (folly::NamedThreadFactory::newThread(folly::Function<void ()>&&)::{lambda()#1}&&)...) /usr/local/include/c++/7.3.0/bits/invoke.h:95 (ep-engine_ep_unit_tests+0x00000063177a) | |
| #29 decltype (__invoke((_S_declval<0ul>)())) std::thread::_Invoker<std::tuple<folly::NamedThreadFactory::newThread(folly::Function<void ()>&&)::{lambda()#1}> >::_M_invoke<0ul>(std::_Index_tuple<0ul>) /usr/local/include/c++/7.3.0/thread:234 (ep-engine_ep_unit_tests+0x00000063177a) | |
| #30 std::thread::_Invoker<std::tuple<folly::NamedThreadFactory::newThread(folly::Function<void ()>&&)::{lambda()#1}> >::operator()() /usr/local/include/c++/7.3.0/thread:243 (ep-engine_ep_unit_tests+0x00000063177a) | |
| #31 std::thread::_State_impl<std::thread::_Invoker<std::tuple<folly::NamedThreadFactory::newThread(folly::Function<void ()>&&)::{lambda()#1}> > >::_M_run() /usr/local/include/c++/7.3.0/thread:186 (ep-engine_ep_unit_tests+0x00000063177a) | |
| #32 execute_native_thread_routine /tmp/deploy/objdir/../gcc-7.3.0/libstdc++-v3/src/c++11/thread.cc:83 (libstdc++.so.6+0x0000000b995e) | |
| Location is stack of main thread. | |
| Thread T1 'SchedulerPool0' (tid=11270, running) created by main thread at: | |
| #0 pthread_create <null> (libtsan.so.0+0x0000000282a0) | |
| #1 __gthread_create /tmp/deploy/objdir/x86_64-pc-linux-gnu/libstdc++-v3/include/x86_64-pc-linux-gnu/bits/gthr-default.h:662 (libstdc++.so.6+0x0000000b9c14) | |
| #2 std::thread::_M_start_thread(std::unique_ptr<std::thread::_State, std::default_delete<std::thread::_State> >, void (*)()) /tmp/deploy/objdir/../gcc-7.3.0/libstdc++-v3/src/c++11/thread.cc:163 (libstdc++.so.6+0x0000000b9c14) | |
| #3 folly::ThreadPoolExecutor::ensureActiveThreads() /home/couchbase/jenkins/workspace/cbdeps-platform-build-old/deps/packages/build/folly/follytsan-prefix/src/follytsan/folly/executors/ThreadPoolExecutor.cpp:466 (ep-engine_ep_unit_tests+0x000001710fba) | |
| #4 folly::IOThreadPoolExecutor::getEventBase() /home/couchbase/jenkins/workspace/cbdeps-platform-build-old/deps/packages/build/folly/follytsan-prefix/src/follytsan/folly/executors/IOThreadPoolExecutor.cpp:144 (ep-engine_ep_unit_tests+0x000001701842) | |
| #5 FollyExecutorPool::registerTaskable(Taskable&) ../kv_engine/engines/ep/src/folly_executorpool.cc:554 (ep-engine_ep_unit_tests+0x00000062af34) | |
| #6 KVBucket::KVBucket(EventuallyPersistentEngine&) ../kv_engine/engines/ep/src/kv_bucket.cc:323 (ep-engine_ep_unit_tests+0x000000670bf1) | |
| #7 EPBucket::EPBucket(EventuallyPersistentEngine&) ../kv_engine/engines/ep/src/ep_bucket.cc:255 (ep-engine_ep_unit_tests+0x0000005a236b) | |
| #8 MockEPBucket::MockEPBucket(EventuallyPersistentEngine&) ../kv_engine/engines/ep/tests/mock/mock_ep_bucket.cc:30 (ep-engine_ep_unit_tests+0x0000007dc2ed) | |
| #9 std::_MakeUniq<testing::NiceMock<MockEPBucket> >::__single_object std::make_unique<testing::NiceMock<MockEPBucket>, SynchronousEPEngine&>(SynchronousEPEngine&) ../third_party/googletest/googlemock/include/gmock/gmock-nice-strict.h:87 (ep-engine_ep_unit_tests+0x0000007f5b82) | |
| #10 SynchronousEPEngine::public_makeMockBucket(Configuration&) ../kv_engine/engines/ep/tests/mock/mock_synchronous_ep_engine.cc:141 (ep-engine_ep_unit_tests+0x0000007f5b82) | |
| #11 SynchronousEPEngine::build(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) ../kv_engine/engines/ep/tests/mock/mock_synchronous_ep_engine.cc:120 (ep-engine_ep_unit_tests+0x0000007f67b5) | |
| #12 ExecutorPoolEpEngineTest<FollyExecutorPool>::SetUp() ../kv_engine/engines/ep/tests/module_tests/executorpool_test.cc:995 (ep-engine_ep_unit_tests+0x0000012d8ae8) | |
| #13 void testing::internal::HandleSehExceptionsInMethodIfSupported<testing::Test, void>(testing::Test*, void (testing::Test::*)(), char const*) ../third_party/googletest/googletest/src/gtest.cc:2433 (ep-engine_ep_unit_tests+0x000001662a28) | |
| #14 void testing::internal::HandleExceptionsInMethodIfSupported<testing::Test, void>(testing::Test*, void (testing::Test::*)(), char const*) ../third_party/googletest/googletest/src/gtest.cc:2469 (ep-engine_ep_unit_tests+0x000001662a28) | |
| #15 testing::Test::Run() ../third_party/googletest/googletest/src/gtest.cc:2503 (ep-engine_ep_unit_tests+0x00000164e58e) | |
| #16 testing::TestInfo::Run() ../third_party/googletest/googletest/src/gtest.cc:2684 (ep-engine_ep_unit_tests+0x00000164e904) | |
| #17 testing::TestSuite::Run() ../third_party/googletest/googletest/src/gtest.cc:2816 (ep-engine_ep_unit_tests+0x00000164ebe1) | |
| #18 testing::internal::UnitTestImpl::RunAllTests() ../third_party/googletest/googletest/src/gtest.cc:5338 (ep-engine_ep_unit_tests+0x000001655d2e) | |
| #19 bool testing::internal::HandleSehExceptionsInMethodIfSupported<testing::internal::UnitTestImpl, bool>(testing::internal::UnitTestImpl*, bool (testing::internal::UnitTestImpl::*)(), char const*) ../third_party/googletest/googletest/src/gtest.cc:2433 (ep-engine_ep_unit_tests+0x0000016562f3) | |
| #20 bool testing::internal::HandleExceptionsInMethodIfSupported<testing::internal::UnitTestImpl, bool>(testing::internal::UnitTestImpl*, bool (testing::internal::UnitTestImpl::*)(), char const*) ../third_party/googletest/googletest/src/gtest.cc:2469 (ep-engine_ep_unit_tests+0x0000016562f3) | |
| #21 testing::UnitTest::Run() ../third_party/googletest/googletest/src/gtest.cc:4925 (ep-engine_ep_unit_tests+0x0000016562f3) | |
| #22 RUN_ALL_TESTS() ../third_party/googletest/googletest/include/gtest/gtest.h:2473 (ep-engine_ep_unit_tests+0x000000f9ea58) | |
| #23 main ../kv_engine/engines/ep/tests/module_tests/ep_unit_tests_main.cc:175 (ep-engine_ep_unit_tests+0x000000f9ea58) | |
| SUMMARY: ThreadSanitizer: data race /home/couchbase/jenkins/workspace/cbdeps-platform-build-old/deps/packages/build/folly/follytsan-prefix/src/follytsan/folly/io/async/EventBase.cpp:661 in folly::EventBase::runInEventBaseThreadAndWait(folly::Function<void ()>) | |
| GCC 9: | |
| [ RUN ] ExecutorPoolTest/1.UnregisterTaskablesCancelsTasks | |
| [New Thread 0x7ffff0ffe700 (LWP 34608)] | |
| [New Thread 0x7fffefffc700 (LWP 34609)] | |
| [Thread 0x7fffefffc700 (LWP 34609) exited] | |
| ================== | |
| WARNING: ThreadSanitizer: data race (pid=34602) | |
| Write of size 8 at 0x7fffffffdc70 by main thread: | |
| #0 nativeFutexWaitImpl follytsan/folly/detail/Futex.cpp:117 (ep-engine_ep_unit_tests+0x1a7d4bb) | |
| #1 folly::detail::futexWaitImpl(std::atomic<unsigned int> const*, unsigned int, std::chrono::time_point<std::chrono::_V2::system_clock, std::chrono::duration<long, std::ratio<1l, 1000000000l> > > const*, std::chrono::time_point<std::chrono::_V2::steady_clock, std::chrono::duration<long, std::ratio<1l, 1000000000l> > > const*, unsigned int) follytsan/folly/detail/Futex.cpp:253 (ep-engine_ep_unit_tests+0x1a7d4bb) | |
| #2 std::enable_if<std::chrono::time_point<std::chrono::_V2::steady_clock, std::chrono::duration<long, std::ratio<1l, 1000000000l> > >::clock::is_steady, folly::detail::FutexResult>::type folly::detail::futexWaitImpl<std::atomic<unsigned int> const, std::chrono::time_point<std::chrono::_V2::steady_clock, std::chrono::duration<long, std::ratio<1l, 1000000000l> > > >(std::atomic<unsigned int> const*, unsigned int, std::chrono::time_point<std::chrono::_V2::steady_clock, std::chrono::duration<long, std::ratio<1l, 1000000000l> > > const&, unsigned int) tlm/deps/folly.exploded/include/folly/detail/Futex-inl.h:85 (ep-engine_ep_unit_tests+0x163052a) | |
| #3 folly::detail::FutexResult folly::detail::futexWaitUntil<std::atomic<unsigned int>, std::chrono::_V2::steady_clock, std::chrono::duration<long, std::ratio<1l, 1000000000l> > >(std::atomic<unsigned int> const*, unsigned int, std::chrono::time_point<std::chrono::_V2::steady_clock, std::chrono::duration<long, std::ratio<1l, 1000000000l> > > const&, unsigned int) tlm/deps/folly.exploded/include/folly/detail/Futex-inl.h:124 (ep-engine_ep_unit_tests+0x16305e5) | |
| #4 bool folly::detail::MemoryIdler::futexWaitPreIdle<std::atomic<unsigned int>, std::chrono::time_point<std::chrono::_V2::steady_clock, std::chrono::duration<long, std::ratio<1l, 1000000000l> > >, std::chrono::duration<long, std::ratio<1l, 1000000000l> > >(folly::detail::FutexResult&, std::atomic<unsigned int>&, unsigned int, std::chrono::time_point<std::chrono::_V2::steady_clock, std::chrono::duration<long, std::ratio<1l, 1000000000l> > > const&, unsigned int, std::chrono::duration<long, std::ratio<1l, 1000000000l> >, unsigned long, float) follytsan/folly/detail/MemoryIdler.h:194 (ep-engine_ep_unit_tests+0x1a97e33) | |
| #5 folly::detail::FutexResult folly::detail::MemoryIdler::futexWaitUntil<std::atomic<unsigned int>, std::chrono::time_point<std::chrono::_V2::steady_clock, std::chrono::duration<long, std::ratio<1l, 1000000000l> > >, std::chrono::duration<long, std::ratio<1l, 1000000000l> > >(std::atomic<unsigned int>&, unsigned int, std::chrono::time_point<std::chrono::_V2::steady_clock, std::chrono::duration<long, std::ratio<1l, 1000000000l> > > const&, unsigned int, std::chrono::duration<long, std::ratio<1l, 1000000000l> > const&, unsigned long, float) follytsan/folly/detail/MemoryIdler.h:151 (ep-engine_ep_unit_tests+0x1a97e33) | |
| #6 bool folly::SaturatingSemaphore<true, std::atomic>::tryWaitSlow<std::chrono::_V2::steady_clock, std::chrono::duration<long, std::ratio<1l, 1000000000l> > >(std::chrono::time_point<std::chrono::_V2::steady_clock, std::chrono::duration<long, std::ratio<1l, 1000000000l> > > const&, folly::WaitOptions const&) follytsan/folly/synchronization/SaturatingSemaphore.h:318 (ep-engine_ep_unit_tests+0x1a97e33) | |
| #7 bool folly::SaturatingSemaphore<true, std::atomic>::try_wait_until<std::chrono::_V2::steady_clock, std::chrono::duration<long, std::ratio<1l, 1000000000l> > >(std::chrono::time_point<std::chrono::_V2::steady_clock, std::chrono::duration<long, std::ratio<1l, 1000000000l> > > const&, folly::WaitOptions const&) follytsan/folly/synchronization/SaturatingSemaphore.h:179 (ep-engine_ep_unit_tests+0x1a98847) | |
| #8 bool folly::detail::LifoSemBase<folly::SaturatingSemaphore<true, std::atomic>, std::atomic>::try_wait_until<std::chrono::_V2::steady_clock, std::chrono::duration<long, std::ratio<1l, 1000000000l> > >(std::chrono::time_point<std::chrono::_V2::steady_clock, std::chrono::duration<long, std::ratio<1l, 1000000000l> > > const&) follytsan/folly/synchronization/LifoSem.h:521 (ep-engine_ep_unit_tests+0x1a98847) | |
| #9 folly::detail::LifoSemBase<folly::SaturatingSemaphore<true, std::atomic>, std::atomic>::wait() follytsan/folly/synchronization/LifoSem.h:488 (ep-engine_ep_unit_tests+0x1ab7f09) | |
| #10 folly::ThreadPoolExecutor::StoppedThreadQueue::take() follytsan/folly/executors/ThreadPoolExecutor.cpp:362 (ep-engine_ep_unit_tests+0x1ab7f09) | |
| #11 folly::ThreadPoolExecutor::joinStoppedThreads(unsigned long) follytsan/folly/executors/ThreadPoolExecutor.cpp:246 (ep-engine_ep_unit_tests+0x1ab80cb) | |
| #12 folly::ThreadPoolExecutor::stop() follytsan/folly/executors/ThreadPoolExecutor.cpp:263 (ep-engine_ep_unit_tests+0x1abba79) | |
| #13 folly::CPUThreadPoolExecutor::~CPUThreadPoolExecutor() follytsan/folly/executors/CPUThreadPoolExecutor.cpp:126 (ep-engine_ep_unit_tests+0x1a85fb2) | |
| #14 folly::CPUThreadPoolExecutor::~CPUThreadPoolExecutor() follytsan/folly/executors/CPUThreadPoolExecutor.cpp:135 (ep-engine_ep_unit_tests+0x1a86185) | |
| #15 std::default_delete<folly::CPUThreadPoolExecutor>::operator()(folly::CPUThreadPoolExecutor*) const /usr/include/c++/9/bits/unique_ptr.h:81 (ep-engine_ep_unit_tests+0x72d229) | |
| #16 std::unique_ptr<folly::CPUThreadPoolExecutor, std::default_delete<folly::CPUThreadPoolExecutor> >::reset(folly::CPUThreadPoolExecutor*) /usr/include/c++/9/bits/unique_ptr.h:402 (ep-engine_ep_unit_tests+0x72d229) | |
| #17 FollyExecutorPool::~FollyExecutorPool() ../kv_engine/engines/ep/src/folly_executorpool.cc:491 (ep-engine_ep_unit_tests+0x72d229) | |
| #18 FollyExecutorPool::~FollyExecutorPool() ../kv_engine/engines/ep/src/folly_executorpool.cc:500 (ep-engine_ep_unit_tests+0x72d625) | |
| #19 std::default_delete<FollyExecutorPool>::operator()(FollyExecutorPool*) const /usr/include/c++/9/bits/unique_ptr.h:81 (ep-engine_ep_unit_tests+0x15f05fe) | |
| #20 std::unique_ptr<FollyExecutorPool, std::default_delete<FollyExecutorPool> >::~unique_ptr() /usr/include/c++/9/bits/unique_ptr.h:292 (ep-engine_ep_unit_tests+0x15f05fe) | |
| #21 ExecutorPoolTest<FollyExecutorPool>::~ExecutorPoolTest() ../kv_engine/engines/ep/tests/module_tests/executorpool_test.h:56 (ep-engine_ep_unit_tests+0x15f05fe) | |
| #22 ExecutorPoolTest_UnregisterTaskablesCancelsTasks_Test<FollyExecutorPool>::~ExecutorPoolTest_UnregisterTaskablesCancelsTasks_Test() ../kv_engine/engines/ep/tests/module_tests/executorpool_test.cc:137 (ep-engine_ep_unit_tests+0x15f05fe) | |
| #23 ExecutorPoolTest_UnregisterTaskablesCancelsTasks_Test<FollyExecutorPool>::~ExecutorPoolTest_UnregisterTaskablesCancelsTasks_Test() ../kv_engine/engines/ep/tests/module_tests/executorpool_test.cc:137 (ep-engine_ep_unit_tests+0x15f05fe) | |
| #24 testing::Test::DeleteSelf_() ../third_party/googletest/googletest/include/gtest/gtest.h:492 (ep-engine_ep_unit_tests+0x1a06f9d) | |
| #25 void testing::internal::HandleSehExceptionsInMethodIfSupported<testing::Test, void>(testing::Test*, void (testing::Test::*)(), char const*) ../third_party/googletest/googletest/src/gtest.cc:2433 (ep-engine_ep_unit_tests+0x1a12c75) | |
| #26 void testing::internal::HandleExceptionsInMethodIfSupported<testing::Test, void>(testing::Test*, void (testing::Test::*)(), char const*) ../third_party/googletest/googletest/src/gtest.cc:2469 (ep-engine_ep_unit_tests+0x1a12c75) | |
| #27 testing::TestInfo::Run() ../third_party/googletest/googletest/src/gtest.cc:2690 (ep-engine_ep_unit_tests+0x1a03711) | |
| #28 testing::TestSuite::Run() ../third_party/googletest/googletest/src/gtest.cc:2816 (ep-engine_ep_unit_tests+0x1a03911) | |
| #29 testing::internal::UnitTestImpl::RunAllTests() ../third_party/googletest/googletest/src/gtest.cc:5338 (ep-engine_ep_unit_tests+0x1a03f2e) | |
| #30 bool testing::internal::HandleSehExceptionsInMethodIfSupported<testing::internal::UnitTestImpl, bool>(testing::internal::UnitTestImpl*, bool (testing::internal::UnitTestImpl::*)(), char const*) ../third_party/googletest/googletest/src/gtest.cc:2433 (ep-engine_ep_unit_tests+0x1a0454d) | |
| #31 bool testing::internal::HandleExceptionsInMethodIfSupported<testing::internal::UnitTestImpl, bool>(testing::internal::UnitTestImpl*, bool (testing::internal::UnitTestImpl::*)(), char const*) ../third_party/googletest/googletest/src/gtest.cc:2469 (ep-engine_ep_unit_tests+0x1a0454d) | |
| #32 testing::UnitTest::Run() ../third_party/googletest/googletest/src/gtest.cc:4925 (ep-engine_ep_unit_tests+0x1a0454d) | |
| #33 RUN_ALL_TESTS() ../third_party/googletest/googletest/include/gtest/gtest.h:2473 (ep-engine_ep_unit_tests+0x1234f56) | |
| #34 main ../kv_engine/engines/ep/tests/module_tests/ep_unit_tests_main.cc:175 (ep-engine_ep_unit_tests+0x1234f56) | |
| Previous atomic write of size 4 at 0x7fffffffdc74 by thread T5: | |
| #0 __tsan_atomic32_compare_exchange_strong ../../../../src/libsanitizer/tsan/tsan_interface_atomic.cc:779 (libtsan.so.0+0x6ff9e) | |
| #1 std::__atomic_base<unsigned int>::compare_exchange_strong(unsigned int&, unsigned int, std::memory_order, std::memory_order) /usr/include/c++/9/bits/atomic_base.h:502 (ep-engine_ep_unit_tests+0x1ac36a8) | |
| #2 folly::Baton<true, std::atomic>::post() follytsan/folly/synchronization/Baton.h:142 (ep-engine_ep_unit_tests+0x1ac36a8) | |
| #3 operator() follytsan/folly/io/async/EventBase.cpp:667 (ep-engine_ep_unit_tests+0x1ac36a8) | |
| #4 catch_exception<folly::EventBase::runInEventBaseThreadAndWait(folly::EventBase::Func)::<lambda()> mutable::<lambda()>&, folly::detail::ScopeGuardImpl<FunctionType, InvokeNoexcept>::execute() [with FunctionType = folly::EventBase::runInEventBaseThreadAndWait(folly::EventBase::Func)::<lambda()> mutable::<lambda()>; bool InvokeNoexcept = true]::<lambda()>&> follytsan/folly/lang/Exception.h:230 (ep-engine_ep_unit_tests+0x1ac36a8) | |
| #5 execute follytsan/folly/ScopeGuard.h:126 (ep-engine_ep_unit_tests+0x1ac36a8) | |
| #6 ~ScopeGuardImpl follytsan/folly/ScopeGuard.h:98 (ep-engine_ep_unit_tests+0x1ac36a8) | |
| #7 operator() follytsan/folly/io/async/EventBase.cpp:668 (ep-engine_ep_unit_tests+0x1ac36a8) | |
| #8 callBig<folly::EventBase::runInEventBaseThreadAndWait(folly::EventBase::Func)::<lambda()> > follytsan/folly/Function.h:401 (ep-engine_ep_unit_tests+0x1ac36a8) | |
| #9 folly::detail::function::FunctionTraits<void ()>::operator()() follytsan/folly/Function.h:416 (ep-engine_ep_unit_tests+0x1ad4903) | |
| #10 folly::EventBase::FunctionRunner::messageAvailable(folly::Function<void ()>&&) follytsan/folly/io/async/EventBase.cpp:137 (ep-engine_ep_unit_tests+0x1ad4903) | |
| #11 folly::NotificationQueue<folly::Function<void ()> >::Consumer::consumeMessages(bool, unsigned long*) follytsan/folly/io/async/NotificationQueue.h:729 (ep-engine_ep_unit_tests+0x1ad4903) | |
| #12 folly::NotificationQueue<folly::Function<void ()> >::Consumer::handlerReady(unsigned short) follytsan/folly/io/async/NotificationQueue.h:663 (ep-engine_ep_unit_tests+0x1ad4c39) | |
| #13 folly::EventHandler::libeventCallback(int, short, void*) follytsan/folly/io/async/EventHandler.cpp:158 (ep-engine_ep_unit_tests+0x1ad85a9) | |
| #14 event_persist_closure /home/couchbase/jenkins/workspace/cbdeps-platform-build-old/deps/packages/build/libevent/libevent-prefix/src/libevent/event.c:1629 (libevent_core-2.1.so.7+0x17f39) | |
| #15 event_process_active_single_queue /home/couchbase/jenkins/workspace/cbdeps-platform-build-old/deps/packages/build/libevent/libevent-prefix/src/libevent/event.c:1688 (libevent_core-2.1.so.7+0x17f39) | |
| #16 folly::EventBase::loopBody(int, bool) follytsan/folly/io/async/EventBase.cpp:397 (ep-engine_ep_unit_tests+0x1ac8d9a) | |
| #17 folly::EventBase::loop() follytsan/folly/io/async/EventBase.cpp:315 (ep-engine_ep_unit_tests+0x1ac921a) | |
| #18 folly::EventBase::loopForever() follytsan/folly/io/async/EventBase.cpp:538 (ep-engine_ep_unit_tests+0x1accaf7) | |
| #19 folly::IOThreadPoolExecutor::threadRun(std::shared_ptr<folly::ThreadPoolExecutor::Thread>) follytsan/folly/executors/IOThreadPoolExecutor.cpp:195 (ep-engine_ep_unit_tests+0x1aa8780) | |
| #20 void std::__invoke_impl<void, void (folly::ThreadPoolExecutor::*&)(std::shared_ptr<folly::ThreadPoolExecutor::Thread>), folly::ThreadPoolExecutor*&, std::shared_ptr<folly::ThreadPoolExecutor::Thread>&>(std::__invoke_memfun_deref, void (folly::ThreadPoolExecutor::*&)(std::shared_ptr<folly::ThreadPoolExecutor::Thread>), folly::ThreadPoolExecutor*&, std::shared_ptr<folly::ThreadPoolExecutor::Thread>&) /usr/include/c++/9/bits/invoke.h:73 (ep-engine_ep_unit_tests+0x1abeef9) | |
| #21 std::__invoke_result<void (folly::ThreadPoolExecutor::*&)(std::shared_ptr<folly::ThreadPoolExecutor::Thread>), folly::ThreadPoolExecutor*&, std::shared_ptr<folly::ThreadPoolExecutor::Thread>&>::type std::__invoke<void (folly::ThreadPoolExecutor::*&)(std::shared_ptr<folly::ThreadPoolExecutor::Thread>), folly::ThreadPoolExecutor*&, std::shared_ptr<folly::ThreadPoolExecutor::Thread>&>(void (folly::ThreadPoolExecutor::*&)(std::shared_ptr<folly::ThreadPoolExecutor::Thread>), folly::ThreadPoolExecutor*&, std::shared_ptr<folly::ThreadPoolExecutor::Thread>&) /usr/include/c++/9/bits/invoke.h:95 (ep-engine_ep_unit_tests+0x1abeef9) | |
| #22 void std::_Bind<void (folly::ThreadPoolExecutor::*(folly::ThreadPoolExecutor*, std::shared_ptr<folly::ThreadPoolExecutor::Thread>))(std::shared_ptr<folly::ThreadPoolExecutor::Thread>)>::__call<void, , 0ul, 1ul>(std::tuple<>&&, std::_Index_tuple<0ul, 1ul>) /usr/include/c++/9/functional:400 (ep-engine_ep_unit_tests+0x1abeef9) | |
| #23 void std::_Bind<void (folly::ThreadPoolExecutor::*(folly::ThreadPoolExecutor*, std::shared_ptr<folly::ThreadPoolExecutor::Thread>))(std::shared_ptr<folly::ThreadPoolExecutor::Thread>)>::operator()<, void>() /usr/include/c++/9/functional:484 (ep-engine_ep_unit_tests+0x1abeef9) | |
| #24 void folly::detail::function::FunctionTraits<void ()>::callBig<std::_Bind<void (folly::ThreadPoolExecutor::*(folly::ThreadPoolExecutor*, std::shared_ptr<folly::ThreadPoolExecutor::Thread>))(std::shared_ptr<folly::ThreadPoolExecutor::Thread>)> >(folly::detail::function::Data&) follytsan/folly/Function.h:401 (ep-engine_ep_unit_tests+0x1abeef9) | |
| #25 folly::detail::function::FunctionTraits<void ()>::operator()() tlm/deps/folly.exploded/include/folly/Function.h:416 (ep-engine_ep_unit_tests+0x73349a) | |
| #26 folly::NamedThreadFactory::newThread(folly::Function<void ()>&&)::{lambda()#1}::operator()() tlm/deps/folly.exploded/include/folly/executors/thread_factory/NamedThreadFactory.h:40 (ep-engine_ep_unit_tests+0x73349a) | |
| #27 void std::__invoke_impl<void, folly::NamedThreadFactory::newThread(folly::Function<void ()>&&)::{lambda()#1}>(std::__invoke_other, folly::NamedThreadFactory::newThread(folly::Function<void ()>&&)::{lambda()#1}&&) /usr/include/c++/9/bits/invoke.h:60 (ep-engine_ep_unit_tests+0x73349a) | |
| #28 std::__invoke_result<folly::NamedThreadFactory::newThread(folly::Function<void ()>&&)::{lambda()#1}>::type std::__invoke<folly::NamedThreadFactory::newThread(folly::Function<void ()>&&)::{lambda()#1}>(std::__invoke_result&&, (folly::NamedThreadFactory::newThread(folly::Function<void ()>&&)::{lambda()#1}&&)...) /usr/include/c++/9/bits/invoke.h:95 (ep-engine_ep_unit_tests+0x73349a) | |
| #29 void std::thread::_Invoker<std::tuple<folly::NamedThreadFactory::newThread(folly::Function<void ()>&&)::{lambda()#1}> >::_M_invoke<0ul>(std::_Index_tuple<0ul>) /usr/include/c++/9/thread:244 (ep-engine_ep_unit_tests+0x73349a) | |
| #30 std::thread::_Invoker<std::tuple<folly::NamedThreadFactory::newThread(folly::Function<void ()>&&)::{lambda()#1}> >::operator()() /usr/include/c++/9/thread:251 (ep-engine_ep_unit_tests+0x73349a) | |
| #31 std::thread::_State_impl<std::thread::_Invoker<std::tuple<folly::NamedThreadFactory::newThread(folly::Function<void ()>&&)::{lambda()#1}> > >::_M_run() /usr/include/c++/9/thread:195 (ep-engine_ep_unit_tests+0x73349a) | |
| #32 <null> <null> (libstdc++.so.6+0xd0b0f) | |
| Location is stack of main thread. | |
| Location is global '<null>' at 0x000000000000 ([stack]+0x00000001fc70) | |
| Thread T5 'SchedulerPool0' (tid=34608, running) created by main thread at: | |
| #0 pthread_create ../../../../src/libsanitizer/tsan/tsan_interceptors.cc:964 (libtsan.so.0+0x2d40e) | |
| #1 std::thread::_M_start_thread(std::unique_ptr<std::thread::_State, std::default_delete<std::thread::_State> >, void (*)()) <null> (libstdc++.so.6+0xd0da4) | |
| #2 folly::ThreadPoolExecutor::ensureActiveThreads() follytsan/folly/executors/ThreadPoolExecutor.cpp:496 (ep-engine_ep_unit_tests+0x1aba8b9) | |
| #3 folly::IOThreadPoolExecutor::getEventBase() follytsan/folly/executors/IOThreadPoolExecutor.cpp:155 (ep-engine_ep_unit_tests+0x1aaa635) | |
| #4 FollyExecutorPool::registerTaskable(Taskable&) ../kv_engine/engines/ep/src/folly_executorpool.cc:554 (ep-engine_ep_unit_tests+0x72c7e2) | |
| #5 ExecutorPoolTest_UnregisterTaskablesCancelsTasks_Test<FollyExecutorPool>::TestBody() <null> (ep-engine_ep_unit_tests+0x163c2c8) | |
| #6 void testing::internal::HandleSehExceptionsInMethodIfSupported<testing::Test, void>(testing::Test*, void (testing::Test::*)(), char const*) ../third_party/googletest/googletest/src/gtest.cc:2433 (ep-engine_ep_unit_tests+0x1a12c75) | |
| #7 void testing::internal::HandleExceptionsInMethodIfSupported<testing::Test, void>(testing::Test*, void (testing::Test::*)(), char const*) ../third_party/googletest/googletest/src/gtest.cc:2469 (ep-engine_ep_unit_tests+0x1a12c75) | |
| #8 testing::Test::Run() ../third_party/googletest/googletest/src/gtest.cc:2508 (ep-engine_ep_unit_tests+0x1a0354e) | |
| #9 testing::TestInfo::Run() ../third_party/googletest/googletest/src/gtest.cc:2684 (ep-engine_ep_unit_tests+0x1a03794) | |
| #10 testing::TestSuite::Run() ../third_party/googletest/googletest/src/gtest.cc:2816 (ep-engine_ep_unit_tests+0x1a03911) | |
| #11 testing::internal::UnitTestImpl::RunAllTests() ../third_party/googletest/googletest/src/gtest.cc:5338 (ep-engine_ep_unit_tests+0x1a03f2e) | |
| #12 bool testing::internal::HandleSehExceptionsInMethodIfSupported<testing::internal::UnitTestImpl, bool>(testing::internal::UnitTestImpl*, bool (testing::internal::UnitTestImpl::*)(), char const*) ../third_party/googletest/googletest/src/gtest.cc:2433 (ep-engine_ep_unit_tests+0x1a0454d) | |
| #13 bool testing::internal::HandleExceptionsInMethodIfSupported<testing::internal::UnitTestImpl, bool>(testing::internal::UnitTestImpl*, bool (testing::internal::UnitTestImpl::*)(), char const*) ../third_party/googletest/googletest/src/gtest.cc:2469 (ep-engine_ep_unit_tests+0x1a0454d) | |
| #14 testing::UnitTest::Run() ../third_party/googletest/googletest/src/gtest.cc:4925 (ep-engine_ep_unit_tests+0x1a0454d) | |
| #15 RUN_ALL_TESTS() ../third_party/googletest/googletest/include/gtest/gtest.h:2473 (ep-engine_ep_unit_tests+0x1234f56) | |
| #16 main ../kv_engine/engines/ep/tests/module_tests/ep_unit_tests_main.cc:175 (ep-engine_ep_unit_tests+0x1234f56) | 
  
    Sign up for free
    to join this conversation on GitHub.
    Already have an account?
    Sign in to comment