Uploaded image for project: 'Core Server'
  1. Core Server
  2. SERVER-17947

Invariant failure when running oplogstart dbtest with mmapv1

    • Type: Icon: Bug Bug
    • Resolution: Done
    • Priority: Icon: Major - P3 Major - P3
    • 3.1.3
    • Affects Version/s: 3.1.1
    • Component/s: Concurrency
    • Fully Compatible
    • ALL
    • Hide

      ./dbtest oplogstart --storageEngine=mmapv1

      Show
      ./dbtest oplogstart --storageEngine=mmapv1
    • Quint Iteration 3

      The oplogstart suite passes when all dbtest suites are run, so it seems likely this was being masked by the order in which suites execute.

      Invariant failure !_locker->inAWriteUnitOfWork() src/mongo/db/concurrency/lock_state.cpp 801
      
      Program received signal SIGTRAP, Trace/breakpoint trap.
      0x00007ffff6fa020b in raise () from /lib/x86_64-linux-gnu/libpthread.so.0
      (gdb) bt
      #0  0x00007ffff6fa020b in raise () from /lib/x86_64-linux-gnu/libpthread.so.0
      #1  0x0000000001f4e7b4 in mongo::breakpoint () at src/mongo/util/debugger.cpp:57
      #2  0x0000000001f449b7 in mongo::invariantFailed (expr=0x26d0cf8 "!_locker->inAWriteUnitOfWork()", file=0x26d0cb0 "src/mongo/db/concurrency/lock_state.cpp", line=801)
          at src/mongo/util/assert_util.cpp:149
      #3  0x0000000001996058 in mongo::AutoYieldFlushLockForMMAPV1Commit::AutoYieldFlushLockForMMAPV1Commit (this=0x7fffffffcef0, locker=0x7ffff5b19820)
          at src/mongo/db/concurrency/lock_state.cpp:801
      #4  0x0000000001d3c0ac in mongo::dur::(anonymous namespace)::DurableImpl::commitNow (this=0x318acd0 <mongo::dur::(anonymous namespace)::durableImpl>, txn=0x7fffffffd7b8)
          at src/mongo/db/storage/mmap_v1/dur.cpp:512
      #5  0x0000000001d36ce8 in mongo::NamespaceIndex::init (this=0x7ffff5392038, txn=0x7fffffffd7b8) at src/mongo/db/storage/mmap_v1/catalog/namespace_index.cpp:238
      #6  0x0000000001d61016 in mongo::MMAPV1DatabaseCatalogEntry::MMAPV1DatabaseCatalogEntry (this=0x7ffff5392020, txn=0x7fffffffd7b8, name=..., path=..., directoryPerDB=false,
          transient=false) at src/mongo/db/storage/mmap_v1/mmap_v1_database_catalog_entry.cpp:174
      #7  0x0000000001d6a287 in mongo::MMAPV1Engine::getDatabaseCatalogEntry (this=0x7ffff597a0a0, opCtx=0x7fffffffd7b8, db=...)
          at src/mongo/db/storage/mmap_v1/mmap_v1_engine.cpp:272
      #8  0x00000000018e26ee in mongo::DatabaseHolder::openDb (this=0x317e940 <mongo::(anonymous namespace)::_dbHolder>, txn=0x7fffffffd7b8, ns=..., justCreated=0x7fffffffd820)
          at src/mongo/db/catalog/database_holder.cpp:128
      #9  0x00000000019a6d48 in mongo::OldClientContext::_finishInit (this=0x7fffffffd820) at src/mongo/db/db_raii.cpp:151
      #10 0x00000000019a6bd3 in mongo::OldClientContext::OldClientContext (this=0x7fffffffd820, txn=0x7fffffffd7b8, ns=..., doVersion=true) at src/mongo/db/db_raii.cpp:141
      #11 0x00000000015ff42a in OplogStartTests::Base::Base (this=0x7fffffffd7a0) at src/mongo/dbtests/oplogstarttests.cpp:50
      #12 0x0000000001604642 in OplogStartTests::OplogStartIsOldest::OplogStartIsOldest (this=0x7fffffffd7a0) at src/mongo/dbtests/oplogstarttests.cpp:122
      #13 0x0000000001604688 in mongo::unittest::Suite::runTestObject<OplogStartTests::OplogStartIsOldest> () at src/mongo/unittest/unittest.h:380
      #14 0x0000000001410a4a in std::_Function_handler<void (), void (*)()>::_M_invoke(std::_Any_data const&) (__functor=...) at /usr/include/c++/4.8/functional:2071
      #15 0x0000000001c6ecbc in std::function<void ()>::operator()() const (this=0x7ffff587d9e8) at /usr/include/c++/4.8/functional:2464
      #16 0x0000000001f4050a in mongo::unittest::TestHolder::run (this=0x7ffff587d9e0) at src/mongo/unittest/unittest.h:251
      #17 0x0000000001f3e7ea in mongo::unittest::Suite::run (this=0x7ffff7ed3e60, filter=..., runsPerTest=1) at src/mongo/unittest/unittest.cpp:230
      #18 0x0000000001f3f166 in mongo::unittest::Suite::run (suites=..., filter=..., runsPerTest=1) at src/mongo/unittest/unittest.cpp:295
      #19 0x0000000001dbb94f in mongo::dbtests::runDbTests (argc=3, argv=0x7fffffffe128) at src/mongo/dbtests/framework.cpp:128
      #20 0x0000000001453af9 in dbtestsMain (argc=3, argv=0x7fffffffe128, envp=0x7fffffffe148) at src/mongo/dbtests/dbtests.cpp:116
      #21 0x0000000001453bac in main (argc=3, argv=0x7fffffffe128, envp=0x7fffffffe148) at src/mongo/dbtests/dbtests.cpp:132
      

            Assignee:
            max.hirschhorn@mongodb.com Max Hirschhorn
            Reporter:
            max.hirschhorn@mongodb.com Max Hirschhorn
            Votes:
            0 Vote for this issue
            Watchers:
            6 Start watching this issue

              Created:
              Updated:
              Resolved: