Details
-
Bug
-
Resolution: Duplicate
-
Major
-
master
-
None
-
Untriaged
-
Unknown
Description
[ RUN ] PersistentAndEphemeral/StreamTest.BackfillOnly/persistent
|
/home/couchbase/jenkins/workspace/kv_engine-undefinedsanitizer-master/kv_engine/engines/ep/tests/module_tests/dcp_test.cc:1297: Failure
|
Value of: stream->getNumBackfillItems()
|
Actual: 2
|
Expected: numItems
|
Which is: 3
|
/home/couchbase/jenkins/workspace/kv_engine-undefinedsanitizer-master/kv_engine/engines/ep/src/dcp/backfill-manager.cc:138:62: runtime error: member call on address 0x7f14a00d8000 which does not point to an object of type 'DcpConnMap'
|
0x7f14a00d8000: note: object is of type 'ConnMap'
|
00 00 00 00 b0 d0 a3 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
|
^~~~~~~~~~~~~~~~~~~~~~~
|
vptr for 'ConnMap'
|
#0 0x1159d58 in BackfillManager::~BackfillManager() /home/couchbase/jenkins/workspace/kv_engine-undefinedsanitizer-master/kv_engine/engines/ep/src/dcp/backfill-manager.cc:138
|
#1 0x841f40 in MockDcpBackfillManager::~MockDcpBackfillManager() /home/couchbase/jenkins/workspace/kv_engine-undefinedsanitizer-master/kv_engine/engines/ep/tests/mock/mock_dcp_backfill_mgr.h:26
|
#2 0x841f40 in MockDcpBackfillManager::~MockDcpBackfillManager() /home/couchbase/jenkins/workspace/kv_engine-undefinedsanitizer-master/kv_engine/engines/ep/tests/mock/mock_dcp_backfill_mgr.h:26
|
#3 0x841830 in std::_Sp_counted_ptr<MockDcpBackfillManager*, (__gnu_cxx::_Lock_policy)2>::_M_dispose() /usr/local/include/c++/7.3.0/bits/shared_ptr_base.h:376
|
#4 0x75c8cb in std::_Sp_counted_base<(__gnu_cxx::_Lock_policy)2>::_M_release() /usr/local/include/c++/7.3.0/bits/shared_ptr_base.h:154
|
#5 0x11c5754 in std::__shared_count<(__gnu_cxx::_Lock_policy)2>::~__shared_count() /usr/local/include/c++/7.3.0/bits/shared_ptr_base.h:684
|
#6 0x11c5754 in std::__shared_ptr<BackfillManager, (__gnu_cxx::_Lock_policy)2>::~__shared_ptr() /usr/local/include/c++/7.3.0/bits/shared_ptr_base.h:1123
|
#7 0x11c5754 in std::__shared_ptr<BackfillManager, (__gnu_cxx::_Lock_policy)2>::reset() /usr/local/include/c++/7.3.0/bits/shared_ptr_base.h:1235
|
#8 0x11c5754 in DcpProducer::~DcpProducer() /home/couchbase/jenkins/workspace/kv_engine-undefinedsanitizer-master/kv_engine/engines/ep/src/dcp/producer.cc:231
|
#9 0x841d2e in MockDcpProducer::~MockDcpProducer() /home/couchbase/jenkins/workspace/kv_engine-undefinedsanitizer-master/kv_engine/engines/ep/tests/mock/mock_dcp_producer.h:32
|
#10 0x844284 in void __gnu_cxx::new_allocator<MockDcpProducer>::destroy<MockDcpProducer>(MockDcpProducer*) /usr/local/include/c++/7.3.0/ext/new_allocator.h:140
|
#11 0x844284 in void std::allocator_traits<std::allocator<MockDcpProducer> >::destroy<MockDcpProducer>(std::allocator<MockDcpProducer>&, MockDcpProducer*) /usr/local/include/c++/7.3.0/bits/alloc_traits.h:487
|
#12 0x844284 in std::_Sp_counted_ptr_inplace<MockDcpProducer, std::allocator<MockDcpProducer>, (__gnu_cxx::_Lock_policy)2>::_M_dispose() /usr/local/include/c++/7.3.0/bits/shared_ptr_base.h:535
|
#13 0x114edc2 in std::deque<std::shared_ptr<ConnHandler>, std::allocator<std::shared_ptr<ConnHandler> > >::_M_destroy_data_aux(std::_Deque_iterator<std::shared_ptr<ConnHandler>, std::shared_ptr<ConnHandler>&, std::shared_ptr<ConnHandler>*>, std::_Deque_iterator<std::shared_ptr<ConnHandler>, std::shared_ptr<ConnHandler>&, std::shared_ptr<ConnHandler>*>) (/home/couchbase/jenkins/workspace/kv_engine-undefinedsanitizer-master/build/kv_engine/ep-engine_ep_unit_tests+0x114edc2)
|
#14 0x114192f in std::deque<std::shared_ptr<ConnHandler>, std::allocator<std::shared_ptr<ConnHandler> > >::_M_destroy_data(std::_Deque_iterator<std::shared_ptr<ConnHandler>, std::shared_ptr<ConnHandler>&, std::shared_ptr<ConnHandler>*>, std::_Deque_iterator<std::shared_ptr<ConnHandler>, std::shared_ptr<ConnHandler>&, std::shared_ptr<ConnHandler>*>, std::allocator<std::shared_ptr<ConnHandler> > const&) /usr/local/include/c++/7.3.0/bits/stl_deque.h:2072
|
#15 0x114192f in std::deque<std::shared_ptr<ConnHandler>, std::allocator<std::shared_ptr<ConnHandler> > >::~deque() /usr/local/include/c++/7.3.0/bits/stl_deque.h:1045
|
#16 0x114192f in std::queue<std::shared_ptr<ConnHandler>, std::deque<std::shared_ptr<ConnHandler>, std::allocator<std::shared_ptr<ConnHandler> > > >::~queue() /usr/local/include/c++/7.3.0/bits/stl_queue.h:96
|
#17 0x114192f in AtomicQueue<std::shared_ptr<ConnHandler> >::~AtomicQueue() /home/couchbase/jenkins/workspace/kv_engine-undefinedsanitizer-master/kv_engine/engines/ep/src/atomicqueue.h:39
|
#18 0x114192f in ConnMap::~ConnMap() /home/couchbase/jenkins/workspace/kv_engine-undefinedsanitizer-master/kv_engine/engines/ep/src/connmap.cc:183
|
#19 0x11a8671 in DcpConnMap::~DcpConnMap() /home/couchbase/jenkins/workspace/kv_engine-undefinedsanitizer-master/kv_engine/engines/ep/src/dcp/dcpconnmap.cc:60
|
#20 0x11a86f0 in DcpConnMap::~DcpConnMap() /home/couchbase/jenkins/workspace/kv_engine-undefinedsanitizer-master/kv_engine/engines/ep/src/dcp/dcpconnmap.cc:62
|
#21 0x12910b8 in std::default_delete<DcpConnMap>::operator()(DcpConnMap*) const /usr/local/include/c++/7.3.0/bits/unique_ptr.h:78
|
#22 0x12910b8 in std::unique_ptr<DcpConnMap, std::default_delete<DcpConnMap> >::~unique_ptr() /usr/local/include/c++/7.3.0/bits/unique_ptr.h:268
|
#23 0x12910b8 in EventuallyPersistentEngine::~EventuallyPersistentEngine() /home/couchbase/jenkins/workspace/kv_engine-undefinedsanitizer-master/kv_engine/engines/ep/src/ep_engine.cc:6027
|
#24 0x1291682 in EventuallyPersistentEngine::~EventuallyPersistentEngine() /home/couchbase/jenkins/workspace/kv_engine-undefinedsanitizer-master/kv_engine/engines/ep/src/ep_engine.cc:6035
|
#25 0x12572e3 in EventuallyPersistentEngine::destroy(bool) /home/couchbase/jenkins/workspace/kv_engine-undefinedsanitizer-master/kv_engine/engines/ep/src/ep_engine.cc:151
|
#26 0xae3be0 in EventuallyPersistentEngineTest::TearDown() /home/couchbase/jenkins/workspace/kv_engine-undefinedsanitizer-master/kv_engine/engines/ep/tests/module_tests/evp_engine_test.cc:78
|
#27 0xa15318 in DCPTest::TearDown() /home/couchbase/jenkins/workspace/kv_engine-undefinedsanitizer-master/kv_engine/engines/ep/tests/module_tests/dcp_test.cc:86
|
#28 0xa15318 in StreamTest::TearDown() /home/couchbase/jenkins/workspace/kv_engine-undefinedsanitizer-master/kv_engine/engines/ep/tests/module_tests/dcp_test.cc:285
|
#29 0x1619489 in void testing::internal::HandleSehExceptionsInMethodIfSupported<testing::Test, void>(testing::Test*, void (testing::Test::*)(), char const*) /home/couchbase/jenkins/workspace/kv_engine-undefinedsanitizer-master/googletest/googletest/src/gtest.cc:2402
|
#30 0x162679b in void testing::internal::HandleExceptionsInMethodIfSupported<testing::Test, void>(testing::Test*, void (testing::Test::*)(), char const*) /home/couchbase/jenkins/workspace/kv_engine-undefinedsanitizer-master/googletest/googletest/src/gtest.cc:2438
|
#31 0x16090c4 in testing::Test::Run() /home/couchbase/jenkins/workspace/kv_engine-undefinedsanitizer-master/googletest/googletest/src/gtest.cc:2482
|
#32 0x1609b95 in testing::TestInfo::Run() /home/couchbase/jenkins/workspace/kv_engine-undefinedsanitizer-master/googletest/googletest/src/gtest.cc:2656
|
#33 0x160a089 in testing::TestCase::Run() /home/couchbase/jenkins/workspace/kv_engine-undefinedsanitizer-master/googletest/googletest/src/gtest.cc:2774
|
#34 0x160d254 in testing::internal::UnitTestImpl::RunAllTests() /home/couchbase/jenkins/workspace/kv_engine-undefinedsanitizer-master/googletest/googletest/src/gtest.cc:4649
|
#35 0x1619958 in bool testing::internal::HandleSehExceptionsInMethodIfSupported<testing::internal::UnitTestImpl, bool>(testing::internal::UnitTestImpl*, bool (testing::internal::UnitTestImpl::*)(), char const*) /home/couchbase/jenkins/workspace/kv_engine-undefinedsanitizer-master/googletest/googletest/src/gtest.cc:2402
|
#36 0x162730c in bool testing::internal::HandleExceptionsInMethodIfSupported<testing::internal::UnitTestImpl, bool>(testing::internal::UnitTestImpl*, bool (testing::internal::UnitTestImpl::*)(), char const*) /home/couchbase/jenkins/workspace/kv_engine-undefinedsanitizer-master/googletest/googletest/src/gtest.cc:2438
|
#37 0x1609423 in testing::UnitTest::Run() /home/couchbase/jenkins/workspace/kv_engine-undefinedsanitizer-master/googletest/googletest/src/gtest.cc:4257
|
#38 0xa5f1fc in RUN_ALL_TESTS() /home/couchbase/jenkins/workspace/kv_engine-undefinedsanitizer-master/googletest/googletest/include/gtest/gtest.h:2237
|
#39 0xa5f1fc in main /home/couchbase/jenkins/workspace/kv_engine-undefinedsanitizer-master/kv_engine/engines/ep/tests/module_tests/ep_unit_tests_main.cc:72
|
#40 0x7f14a220682f in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x2082f)
|
#41 0x757718 in _start (/home/couchbase/jenkins/workspace/kv_engine-undefinedsanitizer-master/build/kv_engine/ep-engine_ep_unit_tests+0x757718)
|
Note:
- at first look the UB issue seems unrelated from the failure at dcp_test.cc:1297 because the failure is on an EXPECT_EQ, so all the subsequent cleanup happens
- from the stack trace, at frame #19 we have done with destroying DcpConnMap and at frame #18 we start destroying ConnMap (which is the base class). But, at frame #0 we fail while doing 'engine.getDcpConnMap().decrNumActiveSnoozingBackfills();', so this seems a pure destruction order issue