[SERVER-17947] Invariant failure when running oplogstart dbtest with mmapv1 Created: 09/Apr/15  Updated: 19/Sep/15  Resolved: 30/Apr/15

Status: Closed
Project: Core Server
Component/s: Concurrency
Affects Version/s: 3.1.1
Fix Version/s: 3.1.3

Type: Bug Priority: Major - P3
Reporter: Max Hirschhorn Assignee: Max Hirschhorn
Resolution: Done Votes: 0
Labels: UT
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Depends
is depended on by SERVER-1424 smoke.py could use some work Closed
Backwards Compatibility: Fully Compatible
Operating System: ALL
Steps To Reproduce:

./dbtest oplogstart --storageEngine=mmapv1

Sprint: Quint Iteration 3
Participants:

 Description   

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



 Comments   
Comment by Githook User [ 30/Apr/15 ]

Author:

{u'username': u'visemet', u'name': u'Max Hirschhorn', u'email': u'max.hirschhorn@mongodb.com'}

Message: SERVER-17947 Avoid using WriteUnitOfWork as a member variable.
Branch: master
https://github.com/mongodb/mongo/commit/88882960587d58c83f42ffaee6b3ab39b43be66c

Generated at Thu Feb 08 03:46:05 UTC 2024 using Jira 9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66.