[SERVER-15816] Invariant failure in UpdateExecutor::prepareInLock during explain Created: 27/Oct/14  Updated: 19/Nov/14  Resolved: 28/Oct/14

Status: Closed
Project: Core Server
Component/s: Concurrency, Write Ops
Affects Version/s: None
Fix Version/s: 2.8.0-rc0

Type: Bug Priority: Major - P3
Reporter: Kamran K. Assignee: David Storch
Resolution: Done Votes: 0
Labels: 28qa
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Related
related to SERVER-15917 Invariant failure when running explai... Closed
Operating System: ALL
Participants:

 Description   

I can trigger the following invariant in master, but not 2.7.8.

2014-10-27T14:51:19.355-0400 I -        [conn1] Invariant failure locker->isW() || locker->isLockHeldForMode( ResourceId( RESOURCE_DATABASE, nsString.db() ), MODE_X ) src/mongo/db/ops/update_executor.cpp 126
 
#0  0x00007ffff7bcc20b in raise (sig=5) at ../nptl/sysdeps/unix/sysv/linux/pt-raise.c:37
#1  0x000000000187cbc6 in mongo::mongo_breakpoint () at src/mongo/util/debug_util.cpp:58
#2  0x0000000001873764 in mongo::breakpoint () at src/mongo/util/debug_util.h:73
#3  0x00000000018725fa in mongo::invariantFailed (msg=0x1e893d8 "locker->isW() || locker->isLockHeldForMode( ResourceId( RESOURCE_DATABASE, nsString.db() ), MODE_X )", file=0x1e893b0 "src/mongo/db/ops/update_executor.cpp", line=126)
    at src/mongo/util/assert_util.cpp:145
#4  0x0000000001461ef9 in mongo::UpdateExecutor::prepareInLock (this=0x7ffff7fcc530, db=0x352dde0) at src/mongo/db/ops/update_executor.cpp:124
#5  0x00000000012e478b in mongo::WriteCmd::explain (this=0x2f90d10, txn=0x301afa0, dbname=..., cmdObj=..., verbosity=mongo::ExplainCommon::EXEC_STATS, out=0x7ffff7fcd460) at src/mongo/db/commands/write_commands/write_commands.cpp:220
#6  0x0000000001281b89 in mongo::CmdExplain::run (this=0x26e0d20 <mongo::cmdExplain>, txn=0x301afa0, dbname=..., cmdObj=..., options=0, errmsg=..., result=..., fromRepl=false) at src/mongo/db/commands/explain_cmd.cpp:113
#7  0x00000000012f7959 in mongo::_execCommand (txn=0x301afa0, c=0x26e0d20 <mongo::cmdExplain>, dbname=..., cmdObj=..., queryOptions=0, errmsg=..., result=..., fromRepl=false) at src/mongo/db/dbcommands.cpp:1158
#8  0x00000000012f890e in mongo::Command::execCommand (txn=0x301afa0, c=0x26e0d20 <mongo::cmdExplain>, queryOptions=0, cmdns=0x3695814 "test.$cmd", cmdObj=..., result=..., fromRepl=false) at src/mongo/db/dbcommands.cpp:1372
#9  0x00000000012f921b in mongo::_runCommands (txn=0x301afa0, ns=0x3695814 "test.$cmd", _cmdobj=..., b=..., anObjBuilder=..., fromRepl=false, queryOptions=0) at src/mongo/db/dbcommands.cpp:1448
#10 0x0000000001511a70 in mongo::runCommands (txn=0x301afa0, ns=0x3695814 "test.$cmd", jsobj=..., curop=..., b=..., anObjBuilder=..., fromRepl=false, queryOptions=0) at src/mongo/db/query/new_find.cpp:125
#11 0x000000000151342d in mongo::newRunQuery (txn=0x301afa0, m=..., q=..., curop=..., result=..., fromDBDirectClient=false) at src/mongo/db/query/new_find.cpp:529
#12 0x00000000013ff7e1 in mongo::receivedQuery (txn=0x301afa0, c=..., dbresponse=..., m=..., fromDBDirectClient=false) at src/mongo/db/instance.cpp:272
#13 0x0000000001400902 in mongo::assembleResponse (txn=0x301afa0, m=..., dbresponse=..., remote=..., fromDBDirectClient=false) at src/mongo/db/instance.cpp:445
#14 0x00000000011159e0 in mongo::MyMessageHandler::process (this=0x2f34188, m=..., port=0x2f4f430, le=0x2f4f8e0) at src/mongo/db/db.cpp:184
#15 0x0000000001898b7b in mongo::PortMessageServer::handleIncomingMsg (arg=0x2f38220) at src/mongo/util/net/message_server_port.cpp:234
#16 0x00007ffff7bc4182 in start_thread (arg=0x7ffff7fce700) at pthread_create.c:312
#17 0x00007ffff6cc4fbd in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:111


Version: 147f75df6b0d78



 Comments   
Comment by Githook User [ 28/Oct/14 ]

Author:

{u'username': u'dstorch', u'name': u'David Storch', u'email': u'david.storch@10gen.com'}

Message: SERVER-15816 explained upserts against an empty collection shouldn't try to create a collection
Branch: master
https://github.com/mongodb/mongo/commit/5a9cd759519f5831efffa7015996526270f7e5ef

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