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

Segfault seen in DCPTest teardown

    XMLWordPrintable

Details

    • Untriaged
    • 1
    • Unknown
    • KV Sprint 2020-Oct

    Description

      Segfault seen during test PersistentAndEphemeral/ConnectionTest.test_not_using_backfill_queue/2.

      (gdb) bt
      #0  __cxxabiv1::__dynamic_cast (src_ptr=0x1a80400, src_type=0x19821d8 <typeinfo for ConnHandler>, dst_type=0x1982d18 <typeinfo for DcpConsumer>, src2dst=src2dst@entry=0) at /tmp/deploy/objdir/../gcc-7.3.0/libstdc++-v3/libsupc++/dyncast.cc:55
      #1  0x00000000004cffa0 in DcpConnMap::seqnoAckVBPassiveStream (this=<optimized out>, vbid=..., seqno=1) at ../kv_engine/engines/ep/src/dcp/dcpconnmap.cc:445
      #2  0x0000000000593ac0 in KVBucket::<lambda(Vbid, int64_t)>::operator() (seqno=<optimized out>, vbid=..., __closure=<optimized out>) at ../kv_engine/engines/ep/src/kv_bucket.cc:2730
      #3  std::_Function_handler<void(Vbid, long int), KVBucket::makeSeqnoAckCB() const::<lambda(Vbid, int64_t)> >::_M_invoke(const std::_Any_data &, <unknown type in /home/couchbase/jenkins/workspace/kv_engine.linux_master/build/kv_engine/ep-engine_ep_unit_tests, CU 0x3015411, DIE 0x31b6c95>, <unknown type in /home/couchbase/jenkins/workspace/kv_engine.linux_master/build/kv_engine/ep-engine_ep_unit_tests, CU 0x3015411, DIE 0x31b6ca5>) (__functor=..., __args#0=<optimized out>, __args#1=<optimized out>) at /usr/local/include/c++/7.3.0/bits/std_function.h:316
      #4  0x00000000005dfecd in std::function<void (Vbid, long)>::operator()(Vbid, long) const (this=<optimized out>, __args#0=..., __args#1=<optimized out>) at /usr/local/include/c++/7.3.0/bits/std_function.h:706
      #5  0x00000000005cfc60 in VBucket::sendSeqnoAck (this=<optimized out>, seqno=<optimized out>) at ../kv_engine/engines/ep/src/vbucket.cc:1033
      #6  0x0000000000513fd3 in PassiveDurabilityMonitor::sendSeqnoAck (this=this@entry=0x7ffff1aef360) at ../kv_engine/engines/ep/src/durability/passive_durability_monitor.cc:285
      #7  0x0000000000514139 in PassiveDurabilityMonitor::notifyLocalPersistence (this=0x7ffff1aef360) at ../kv_engine/engines/ep/src/durability/passive_durability_monitor.cc:269
      #8  0x00000000005db123 in VBucket::notifyPersistenceToDurabilityMonitor (this=0x7ffff2d00500) at ../kv_engine/engines/ep/src/vbucket.cc:3971
      #9  0x000000000051dd29 in EPBucket::flushVBucket (this=0x7ffff03ab000, vbid=...) at ../kv_engine/engines/ep/src/ep_bucket.cc:791
      #10 0x000000000057b40b in Flusher::flushVB (this=this@entry=0x7ffff049e700) at ../kv_engine/engines/ep/src/flusher.cc:306
      #11 0x000000000057c4e6 in Flusher::step (this=0x7ffff049e700, task=0x7ffff06dc790) at ../kv_engine/engines/ep/src/flusher.cc:207
      #12 0x00000000005c8610 in FlusherTask::run (this=<optimized out>) at ../kv_engine/engines/ep/src/tasks.cc:33
      #13 0x000000000057e203 in GlobalTask::execute (this=0x7ffff06dc790) at ../kv_engine/engines/ep/src/globaltask.cc:73
      #14 0x000000000048a0e6 in CB3ExecutorThread::run (this=0x7ffff2d66d20) at ../kv_engine/engines/ep/src/cb3_executorthread.cc:174
      #15 0x000000000048a4b5 in launch_executor_thread (arg=<optimized out>) at ../kv_engine/engines/ep/src/cb3_executorthread.cc:34
      #16 0x00007ffff463467d in CouchbaseThread::run (this=0x7ffff1afa6b0) at ../platform/src/cb_pthreads.cc:58
      #17 platform_thread_wrap (arg=0x7ffff1afa6b0) at ../platform/src/cb_pthreads.cc:71
      #18 0x00007ffff37246ba in start_thread (arg=0x7fffc0fd7700) at pthread_create.c:333
      #19 0x00007ffff345a41d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109
      

      (gdb) bt
      #0  pthread_cond_timedwait@@GLIBC_2.3.2 () at ../sysdeps/unix/sysv/linux/x86_64/pthread_cond_timedwait.S:225
      #1  0x000000000047e040 in __gthread_cond_timedwait (__abs_timeout=0x7fffffffdfc0, __mutex=<optimized out>, __cond=0x7ffff1aacd30) at /usr/local/include/c++/7.3.0/x86_64-pc-linux-gnu/bits/gthr-default.h:871
      #2  std::condition_variable::__wait_until_impl<std::chrono::duration<long, std::ratio<1l, 1000000000l> > > (__atime=..., __lock=..., this=0x7ffff1aacd30) at /usr/local/include/c++/7.3.0/condition_variable:166
      #3  std::condition_variable::wait_until<std::chrono::duration<long, std::ratio<1l, 1000000000l> > > (__atime=..., __lock=..., this=0x7ffff1aacd30) at /usr/local/include/c++/7.3.0/condition_variable:106
      #4  std::condition_variable::wait_for<long, std::ratio<1l, 1000l> > (__rtime=..., __lock=..., this=0x7ffff1aacd30) at /usr/local/include/c++/7.3.0/condition_variable:138
      #5  SyncObject::wait_for (secs=2, lock=..., this=0x7ffff1aacd08) at ../kv_engine/engines/ep/src/syncobject.h:48
      #6  CB3ExecutorPool::_stopTaskGroup (this=this@entry=0x7ffff1aacc00, taskGID=140737223589888, lh=..., force=force@entry=true) at ../kv_engine/engines/ep/src/cb3_executorpool.cc:567
      #7  0x000000000047e157 in CB3ExecutorPool::_unregisterTaskable (this=0x7ffff1aacc00, taskable=..., force=<optimized out>) at ../kv_engine/engines/ep/src/cb3_executorpool.cc:582
      #8  0x000000000047e4e4 in CB3ExecutorPool::unregisterTaskable (this=<optimized out>, taskable=..., force=<optimized out>) at ../kv_engine/engines/ep/src/cb3_executorpool.cc:635
      #9  0x000000000059e8de in KVBucket::deinitialize (this=this@entry=0x7ffff03ab000) at ../kv_engine/engines/ep/src/kv_bucket.cc:489
      #10 0x000000000051faf7 in EPBucket::deinitialize (this=0x7ffff03ab000) at ../kv_engine/engines/ep/src/ep_bucket.cc:317
      #11 0x000000000054337d in EventuallyPersistentEngine::~EventuallyPersistentEngine (this=0x7ffff0380000, __in_chrg=<optimized out>) at ../kv_engine/engines/ep/src/ep_engine.cc:6574
      #12 0x0000000000543521 in EventuallyPersistentEngine::~EventuallyPersistentEngine (this=0x7ffff0380000, __in_chrg=<optimized out>) at ../kv_engine/engines/ep/src/ep_engine.cc:6598
      #13 0x000000000052d3ea in EventuallyPersistentEngine::destroy (this=0x7ffff0380000, force=<optimized out>) at ../kv_engine/engines/ep/src/ep_engine.cc:208
      #14 0x0000000000ba7b5f in EventuallyPersistentEngineTest::TearDown (this=this@entry=0x7ffff2d66460) at ../kv_engine/engines/ep/tests/module_tests/evp_engine_test.cc:93
      #15 0x0000000000ac78a2 in DCPTest::TearDown (this=0x7ffff2d66460) at ../kv_engine/engines/ep/tests/module_tests/dcp_test.cc:209
      #16 0x0000000000ff21a7 in testing::internal::HandleSehExceptionsInMethodIfSupported<testing::Test, void> (object=object@entry=0x7ffff2d66530, method=<optimized out>, location=location@entry=0x1465d33 "TearDown()") at ../third_party/googletest/googletest/src/gtest.cc:2433
      #17 0x0000000000ff72e2 in testing::internal::HandleExceptionsInMethodIfSupported<testing::Test, void> (object=object@entry=0x7ffff2d66530, method=&virtual testing::Test::TearDown(), location=location@entry=0x1465d33 "TearDown()") at ../third_party/googletest/googletest/src/gtest.cc:2469
      #18 0x0000000000feb22f in testing::Test::Run (this=this@entry=0x7ffff2d66530) at ../third_party/googletest/googletest/src/gtest.cc:2516
      #19 0x0000000000feb563 in testing::TestInfo::Run (this=0x7ffff1e26b80) at ../third_party/googletest/googletest/src/gtest.cc:2684
      #20 0x0000000000feb614 in testing::TestSuite::Run (this=0x7ffff1e04800) at ../third_party/googletest/googletest/src/gtest.cc:2816
      #21 0x0000000000fed1e2 in testing::internal::UnitTestImpl::RunAllTests (this=0x7ffff2c2e200) at ../third_party/googletest/googletest/src/gtest.cc:5338
      #22 0x0000000000ff22b2 in testing::internal::HandleSehExceptionsInMethodIfSupported<testing::internal::UnitTestImpl, bool> (object=object@entry=0x7ffff2c2e200, method=<optimized out>, location=location@entry=0x1467e48 "auxiliary test code (environments or event listeners)") at ../third_party/googletest/googletest/src/gtest.cc:2433
      #23 0x0000000000ff7738 in testing::internal::HandleExceptionsInMethodIfSupported<testing::internal::UnitTestImpl, bool> (object=0x7ffff2c2e200, method=(bool (testing::internal::UnitTestImpl::*)(testing::internal::UnitTestImpl * const)) 0xfecea8 <testing::internal::UnitTestImpl::RunAllTests()>, 
          location=location@entry=0x1467e48 "auxiliary test code (environments or event listeners)") at ../third_party/googletest/googletest/src/gtest.cc:2469
      #24 0x0000000000feb30b in testing::UnitTest::Run (this=0x199a4c0 <testing::UnitTest::GetInstance()::instance>) at ../third_party/googletest/googletest/src/gtest.cc:4925
      #25 0x0000000000b84b63 in RUN_ALL_TESTS () at ../third_party/googletest/googletest/include/gtest/gtest.h:2473
      #26 main (argc=<optimized out>, argv=0x7fffffffe528) at ../kv_engine/engines/ep/tests/module_tests/ep_unit_tests_main.cc:175
      

      Attachments

        For Gerrit Dashboard: MB-41719
        # Subject Branch Project Status CR V

        Activity

          People

            richard.demellow Richard deMellow
            richard.demellow Richard deMellow
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              PagerDuty