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

TSan: Intermittent error in 'EPBucketTest.test_mb20751_deadlock_on_disconnect_delete'

    XMLWordPrintable

Details

    • Bug
    • Resolution: Duplicate
    • Major
    • None
    • master
    • couchbase-bucket
    • None
    • Triaged
    • Yes

    Description

      TSan data race seen during CV for http://review.couchbase.org/#/c/96807/ - which doesn't touch this test:

      [ RUN      ] EPBucketTest.test_mb20751_deadlock_on_disconnect_delete
      ==================
      WARNING: ThreadSanitizer: data race (pid=26423)
        Write of size 8 at 0x7b5c00003280 by thread T29 (mutexes: write M237700377972048472):
          #0 std::enable_if<std::__and_<std::__not_<std::__is_tuple_like<BackfillManager*> >, std::is_move_constructible<BackfillManager*>, std::is_move_assignable<BackfillManager*> >::value, void>::type std::swap<BackfillManager*>(BackfillManager*&, BackfillManager*&) /usr/local/include/c++/7.3.0/bits/move.h:200 (ep-engine_ep_unit_tests+0x0000009a8e35)
          #1 std::__shared_ptr<BackfillManager, (__gnu_cxx::_Lock_policy)2>::swap(std::__shared_ptr<BackfillManager, (__gnu_cxx::_Lock_policy)2>&) /usr/local/include/c++/7.3.0/bits/shared_ptr_base.h:1274 (ep-engine_ep_unit_tests+0x0000009a8e35)
          #2 std::__shared_ptr<BackfillManager, (__gnu_cxx::_Lock_policy)2>::reset() /usr/local/include/c++/7.3.0/bits/shared_ptr_base.h:1235 (ep-engine_ep_unit_tests+0x0000009a8e35)
          #3 DcpProducer::closeAllStreams() /home/couchbase/jenkins/workspace/kv_engine-threadsanitizer-master/kv_engine/engines/ep/src/dcp/producer.cc:1107 (ep-engine_ep_unit_tests+0x0000009a8e35)
          #4 DcpConnMap::disconnect(void const*) /home/couchbase/jenkins/workspace/kv_engine-threadsanitizer-master/kv_engine/engines/ep/src/dcp/dcpconnmap.cc:309 (ep-engine_ep_unit_tests+0x00000098ce6f)
          #5 EventuallyPersistentEngine::handleDisconnect(void const*) /home/couchbase/jenkins/workspace/kv_engine-threadsanitizer-master/kv_engine/engines/ep/src/ep_engine.cc:5684 (ep-engine_ep_unit_tests+0x0000009cb9f2)
          #6 operator() /home/couchbase/jenkins/workspace/kv_engine-threadsanitizer-master/kv_engine/engines/ep/tests/module_tests/evp_store_test.cc:75 (ep-engine_ep_unit_tests+0x000000659b34)
          #7 __invoke_impl<void, EPBucketTest_test_mb20751_deadlock_on_disconnect_delete_Test::TestBody()::<lambda()> > /usr/local/include/c++/7.3.0/bits/invoke.h:60 (ep-engine_ep_unit_tests+0x000000659b34)
          #8 __invoke<EPBucketTest_test_mb20751_deadlock_on_disconnect_delete_Test::TestBody()::<lambda()> > /usr/local/include/c++/7.3.0/bits/invoke.h:95 (ep-engine_ep_unit_tests+0x000000659b34)
          #9 _M_invoke<0> /usr/local/include/c++/7.3.0/thread:234 (ep-engine_ep_unit_tests+0x000000659b34)
          #10 operator() /usr/local/include/c++/7.3.0/thread:243 (ep-engine_ep_unit_tests+0x000000659b34)
          #11 _M_run /usr/local/include/c++/7.3.0/thread:186 (ep-engine_ep_unit_tests+0x000000659b34)
          #12 execute_native_thread_routine /tmp/deploy/objdir/../gcc-7.3.0/libstdc++-v3/src/c++11/thread.cc:83 (libstdc++.so.6+0x0000000b995e)
       
        Previous write of size 8 at 0x7b5c00003280 by main thread:
          #0 std::enable_if<std::__and_<std::__not_<std::__is_tuple_like<BackfillManager*> >, std::is_move_constructible<BackfillManager*>, std::is_move_assignable<BackfillManager*> >::value, void>::type std::swap<BackfillManager*>(BackfillManager*&, BackfillManager*&) /usr/local/include/c++/7.3.0/bits/move.h:200 (ep-engine_ep_unit_tests+0x0000009a8e35)
          #1 std::__shared_ptr<BackfillManager, (__gnu_cxx::_Lock_policy)2>::swap(std::__shared_ptr<BackfillManager, (__gnu_cxx::_Lock_policy)2>&) /usr/local/include/c++/7.3.0/bits/shared_ptr_base.h:1274 (ep-engine_ep_unit_tests+0x0000009a8e35)
          #2 std::__shared_ptr<BackfillManager, (__gnu_cxx::_Lock_policy)2>::reset() /usr/local/include/c++/7.3.0/bits/shared_ptr_base.h:1235 (ep-engine_ep_unit_tests+0x0000009a8e35)
          #3 DcpProducer::closeAllStreams() /home/couchbase/jenkins/workspace/kv_engine-threadsanitizer-master/kv_engine/engines/ep/src/dcp/producer.cc:1107 (ep-engine_ep_unit_tests+0x0000009a8e35)
          #4 DcpConnMap::closeStreams(std::unordered_map<void const*, std::shared_ptr<ConnHandler>, std::hash<void const*>, std::equal_to<void const*>, std::allocator<std::pair<void const* const, std::shared_ptr<ConnHandler> > > >&) /home/couchbase/jenkins/workspace/kv_engine-threadsanitizer-master/kv_engine/engines/ep/src/dcp/dcpconnmap.cc:245 (ep-engine_ep_unit_tests+0x00000098ad5d)
          #5 DcpConnMap::shutdownAllConnections() /home/couchbase/jenkins/workspace/kv_engine-threadsanitizer-master/kv_engine/engines/ep/src/dcp/dcpconnmap.cc:199 (ep-engine_ep_unit_tests+0x00000098bf8d)
          #6 EventuallyPersistentEngine::handleDeleteBucket(void const*) /home/couchbase/jenkins/workspace/kv_engine-threadsanitizer-master/kv_engine/engines/ep/src/ep_engine.cc:5711 (ep-engine_ep_unit_tests+0x0000009e6fc3)
          #7 EPBucketTest_test_mb20751_deadlock_on_disconnect_delete_Test::TestBody() /home/couchbase/jenkins/workspace/kv_engine-threadsanitizer-master/kv_engine/engines/ep/tests/module_tests/evp_store_test.cc:80 (ep-engine_ep_unit_tests+0x00000065bc49)
          #8 void testing::internal::HandleSehExceptionsInMethodIfSupported<testing::Test, void>(testing::Test*, void (testing::Test::*)(), char const*) /home/couchbase/jenkins/workspace/kv_engine-threadsanitizer-master/googletest/googletest/src/gtest.cc:2402 (ep-engine_ep_unit_tests+0x000000bb4db7)
          #9 void testing::internal::HandleExceptionsInMethodIfSupported<testing::Test, void>(testing::Test*, void (testing::Test::*)(), char const*) /home/couchbase/jenkins/workspace/kv_engine-threadsanitizer-master/googletest/googletest/src/gtest.cc:2438 (ep-engine_ep_unit_tests+0x000000bbbdf4)
          #10 testing::Test::Run() /home/couchbase/jenkins/workspace/kv_engine-threadsanitizer-master/googletest/googletest/src/gtest.cc:2474 (ep-engine_ep_unit_tests+0x000000baac55)
          #11 testing::TestInfo::Run() /home/couchbase/jenkins/workspace/kv_engine-threadsanitizer-master/googletest/googletest/src/gtest.cc:2656 (ep-engine_ep_unit_tests+0x000000baaf29)
          #12 testing::TestCase::Run() /home/couchbase/jenkins/workspace/kv_engine-threadsanitizer-master/googletest/googletest/src/gtest.cc:2774 (ep-engine_ep_unit_tests+0x000000bab0d1)
          #13 testing::internal::UnitTestImpl::RunAllTests() /home/couchbase/jenkins/workspace/kv_engine-threadsanitizer-master/googletest/googletest/src/gtest.cc:4649 (ep-engine_ep_unit_tests+0x000000bad44a)
          #14 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/googletest/googletest/src/gtest.cc:2402 (ep-engine_ep_unit_tests+0x000000bb50da)
          #15 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/googletest/googletest/src/gtest.cc:2438 (ep-engine_ep_unit_tests+0x000000bbc3a8)
          #16 testing::UnitTest::Run() /home/couchbase/jenkins/workspace/kv_engine-threadsanitizer-master/googletest/googletest/src/gtest.cc:4257 (ep-engine_ep_unit_tests+0x000000baad4d)
          #17 RUN_ALL_TESTS() /home/couchbase/jenkins/workspace/kv_engine-threadsanitizer-master/googletest/googletest/include/gtest/gtest.h:2237 (ep-engine_ep_unit_tests+0x00000060141c)
          #18 main /home/couchbase/jenkins/workspace/kv_engine-threadsanitizer-master/kv_engine/engines/ep/tests/module_tests/ep_unit_tests_main.cc:76 (ep-engine_ep_unit_tests+0x00000060141c)
      

      Logs: http://cv.jenkins.couchbase.com/job/kv_engine-threadsanitizer-master/2350/consoleFull#49123772561882284-c5b1-40af-8076-4f8cb2d12fb1

      Attachments

        Issue Links

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

          Activity

            People

              Unassigned Unassigned
              drigby Dave Rigby (Inactive)
              Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved:

                Gerrit Reviews

                  There are no open Gerrit changes

                  PagerDuty