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

SegFault during magma rollback

    XMLWordPrintable

Details

    • Untriaged
    • Unknown

    Description

      Test:

      ./testrunner -i /tmp/ritesh_magma.ini rerun=False,infra_log_level=debug,log_level=debug,skip_cleanup=True -t magma.magma_crash_tests.MagmaCrashTests.test_magma_rollback_n_times,num_items=10000000,infra_log_level=debug,skip_cleanup=true,rerun=False,doc_size=1024,nodes_init=9,rollback_items=1000000,num_rollbacks=100,sdk_timeout=60,randomize_doc_size=True,randomize_value=True
      

      Crash Dump from 172.23.120.67:

      172.23.120.67 : Stack Trace of 13e7aed8-720c-533e-768ffda1-0bba60ae.dmp
      Core was generated by `/opt/couchbase/bin/memcached -C /opt/couchbase/var/lib/couchbase/config/memcach'.
       #0  0x00007f95acbdebcc in magma::BlockIterator::GetValue() () from /opt/couchbase/lib/libmagma.so
       #0  0x00007f95acbdebcc in magma::BlockIterator::GetValue() () from /opt/couchbase/lib/libmagma.so
       #1  0x00007f95acbe90b8 in magma::SSTableIterator::initIterators(magma::Slice const&) () from /opt/couchbase/lib/libmagma.so
       #2  0x00007f95acbe9d5c in magma::SSTableIterator::Seek(magma::Slice const&) () from /opt/couchbase/lib/libmagma.so
       #3  0x00007f95acc6999c in magma::LSMTree::Get(magma::Slice const&, std::shared_ptr<magma::Snapshot>&, magma::LookupBuffer&, magma::Slice&, bool&, bool) () from /opt/couchbase/lib/libmagma.so
       #4  0x00007f95acc330e8 in magma::Magma::Get(unsigned short, magma::Slice const&, std::shared_ptr<magma::Snapshot>, std::shared_ptr<magma::Snapshot>, magma::Magma::FetchBuffer&, magma::Magma::FetchBuffer&, magma::Slice&, magma::Slice&, bool&, std::shared_ptr<magma::KVStore>) () from /opt/couchbase/lib/libmagma.so
       #5  0x00007f95adafa279 in MagmaKVStore::rollback(Vbid, unsigned long, std::shared_ptr<RollbackCB>)::{lambda(magma::Slice const&, unsigned long, std::shared_ptr<magma::Snapshot>&, std::shared_ptr<magma::Snapshot>&)#1}::operator()(magma::Slice const&, unsigned long, std::shared_ptr<magma::Snapshot>&, std::shared_ptr<magma::Snapshot>&) const () from /opt/couchbase/lib/ep.so
       #6  0x00007f95acc39adf in magma::Magma::Rollback(unsigned short, unsigned long, std::function<void (magma::Slice const&, unsigned long, std::shared_ptr<magma::Snapshot>&, std::shared_ptr<magma::Snapshot>&)>) () from /opt/couchbase/lib/libmagma.so
       #7  0x00007f95adb068d5 in MagmaKVStore::rollback(Vbid, unsigned long, std::shared_ptr<RollbackCB>) () from /opt/couchbase/lib/ep.so
       #8  0x00007f95ad9cb8d8 in EPBucket::doRollback(Vbid, unsigned long) () from /opt/couchbase/lib/ep.so
       #9  0x00007f95ada4b72d in KVBucket::rollback(Vbid, unsigned long) () from /opt/couchbase/lib/ep.so
       #10 0x00007f95ad97a91b in DcpConsumer::doRollback(unsigned int, Vbid, unsigned long) () from /opt/couchbase/lib/ep.so
       #11 0x00007f95ad97aaaa in RollbackTask::run() () from /opt/couchbase/lib/ep.so
       #12 0x00007f95ada1cef4 in ExecutorThread::run() () from /opt/couchbase/lib/ep.so
       #13 0x00007f95b4f07ed7 in platform_thread_wrap(void*) () from /opt/couchbase/lib/libplatform_so.so.0.1.0
       #14 0x00007f95b2b33e65 in start_thread () from /usr/lib64/libpthread-2.17.so
       #15 0x00007f95b285c88d in clone () from /usr/lib64/libc-2.17.so
      

      Crash Dump from 172.23.120.66:

      172.23.120.66 : Stack Trace of 13e7aed8-720c-533e-768ffda1-0bba60ae.dmp
      Core was generated by `/opt/couchbase/bin/memcached -C /opt/couchbase/var/lib/couchbase/config/memcach'.
       #0  0x00007fd322df78b4 in 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>::basic_json(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&) () from /opt/couchbase/lib/libmagma.so
       #0  0x00007fd322df78b4 in 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>::basic_json(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&) () from /opt/couchbase/lib/libmagma.so
       #1  0x00007fd322df7504 in std::_Rb_tree_node<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, 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> > >* std::_Rb_tree<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, 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> >, std::_Select1st<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, 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> > >, std::less<void>, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, 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> > > >::_M_copy<std::_Rb_tree<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, 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> >, std::_Select1st<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, 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> > >, std::less<void>, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, 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> > > >::_Alloc_node>(std::_Rb_tree_node<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, 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::_Rb_tree_node_base*, std::_Rb_tree<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, 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> >, std::_Select1st<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, 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> > >, std::less<void>, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, 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> > > >::_Alloc_node&) () from /opt/couchbase/lib/libmagma.so
       #2  0x00007fd322df7854 in 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>::basic_json(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&) () from /opt/couchbase/lib/libmagma.so
       #3  0x00007fd322df7a63 in void std::vector<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>, std::allocator<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> > >::_M_realloc_insert<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&>(__gnu_cxx::__normal_iterator<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>*, std::vector<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>, std::allocator<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> > > >, 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&) () from /opt/couchbase/lib/libmagma.so
       #4  0x00007fd322df435e in magma::TreeState::Encode[abi:cxx11]() () from /opt/couchbase/lib/libmagma.so
       #5  0x00007fd322e75c64 in magma::TreeState::Write() () from /opt/couchbase/lib/libmagma.so
       #6  0x00007fd322e779ef in magma::PersistentSnapshotManager::tryPendingQueueFlush() () from /opt/couchbase/lib/libmagma.so
       #7  0x00007fd322e77c66 in magma::PersistentSnapshotManager::CreateSnapshot(std::shared_ptr<magma::TreeState>, std::function<bool ()>) () from /opt/couchbase/lib/libmagma.so
       #8  0x00007fd322e7c26f in magma::LSMTree::syncState(magma::TreeStateType, std::unique_lock<std::mutex>&) () from /opt/couchbase/lib/libmagma.so
       #9  0x00007fd322e6c73c in magma::LSMTree::doMemtableFlushWork(std::shared_ptr<magma::Memtable>) () from /opt/couchbase/lib/libmagma.so
       #10 0x00007fd322e6dca8 in std::_Function_handler<void (), magma::LSMTree::queueMemtableFlush(std::shared_ptr<magma::Memtable>)::{lambda()#1}>::_M_invoke(std::_Any_data const&) () from /opt/couchbase/lib/libmagma.so
       #11 0x00007fd322e00c2f in magma::TaskWorker::loop(void*) () from /opt/couchbase/lib/libmagma.so
       #12 0x00007fd32b0fded7 in platform_thread_wrap(void*) () from /opt/couchbase/lib/libplatform_so.so.0.1.0
       #13 0x00007fd328d29e65 in start_thread () from /usr/lib64/libpthread-2.17.so
       #14 0x00007fd328a5288d in clone () from /usr/lib64/libc-2.17.so
      

      Attachments

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

        Activity

          People

            apaar.gupta Apaar Gupta
            ritesh.agarwal Ritesh Agarwal
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              Gerrit Reviews

                There are no open Gerrit changes

                PagerDuty