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

Invariant failure !cmd.isEmpty() in parseWriteCommand

    • Type: Icon: Bug Bug
    • Resolution: Done
    • Priority: Icon: Major - P3 Major - P3
    • 3.3.6
    • Affects Version/s: 3.3.5
    • Component/s: Write Ops
    • Labels:
      None
    • Fully Compatible
    • Integrate+Tuning 14 (05/13/16)
    • 0

      This bug only affects 3.3.5+ (i.e., builds with the changes from SERVER-23128).

      Invariant failure !cmd.isEmpty() src/mongo/db/ops/write_ops_parsers.cpp 84
      
          frame #14: 0x00000001012f781e mongod`mongo::invariantFailed(expr="!cmd.isEmpty()", file="src/mongo/db/ops/write_ops_parsers.cpp", line=84) + 382 at assert_util.cpp:153
          frame #15: 0x00000001007abb43 mongod`mongo::(anonymous namespace)::parseWriteCommand(dbName=(_data = "test", _size = 4), cmd=0x000070000082ab20, uniqueFieldName=(_data = "documents", _size = 9), uniqueField=0x000070000082a200, op=0x000070000082a370) + 131 at write_ops_parsers.cpp:84
          frame #16: 0x00000001007ab661 mongod`mongo::parseInsertCommand(dbName=(_data = "test", _size = 4), cmd=0x000070000082ab20) + 209 at write_ops_parsers.cpp:128
          frame #17: 0x0000000100439178 mongod`mongo::CmdInsert::runImpl(this=0x0000000102bbeb08, txn=0x0000000105f004e0, dbname="test", cmdObj=0x000070000082ab20, result=0x000070000082af18) + 72 at write_commands.cpp:254
          frame #18: 0x0000000100437283 mongod`mongo::(anonymous namespace)::WriteCommand::run(this=0x0000000102bbeb08, txn=0x0000000105f004e0, dbname="test", cmdObj=0x000070000082ab20, options=0, errmsg="", result=0x000070000082af18) + 99 at write_commands.cpp:213
          frame #19: 0x00000001004738a8 mongod`mongo::Command::run(this=0x0000000102bbeb08, txn=0x0000000105f004e0, request=0x000070000082bdd0, replyBuilder=0x000070000082bf80) + 6696 at dbcommands.cpp:1547
          frame #20: 0x00000001004718c9 mongod`mongo::Command::execCommand(txn=0x0000000105f004e0, command=0x0000000102bbeb08, request=0x000070000082bdd0, replyBuilder=0x000070000082bf80) + 5161 at dbcommands.cpp:1392
          frame #21: 0x0000000100d16044 mongod`mongo::runCommands(txn=0x0000000105f004e0, request=0x000070000082bdd0, replyBuilder=0x000070000082bf80) + 2116 at run_commands.cpp:72
          frame #22: 0x00000001006c0ba4 mongod`mongo::(anonymous namespace)::receivedRpc(txn=0x0000000105f004e0, client=0x0000000105a1b9a0, dbResponse=0x000070000082d410, message=0x000070000082dbb0) + 628 at instance.cpp:274
          frame #23: 0x00000001006bd6ea mongod`mongo::assembleResponse(txn=0x0000000105f004e0, m=0x000070000082dbb0, dbresponse=0x000070000082d410, remote=0x000070000082d190) + 2218 at instance.cpp:622
          frame #24: 0x000000010000fdfd mongod`mongo::MyMessageHandler::process(this=0x0000000105a20918, m=0x000070000082dbb0, port=0x0000000104e09f50) + 397 at db.cpp:182
          frame #25: 0x0000000101345569 mongod`mongo::PortMessageServer::handleIncomingMsg(arg=0x0000000104e09f50) + 2121 at message_server_port.cpp:229
          frame #26: 0x0000000101343da7 mongod`void* std::__1::__thread_proxy<std::__1::tuple<std::__1::__bind<void* (*)(void*), mongo::(anonymous namespace)::MessagingPortWithHandler*> > >(void*) [inlined] decltype(__f=0x0000000107800880, __args=0x0000000107800888)(void*)>(fp)(std::__1::forward<mongo::(anonymous namespace)::MessagingPortWithHandler*&>(fp0))) std::__1::__invoke<void* (*&)(void*), mongo::(anonymous namespace)::MessagingPortWithHandler*&>(void* (*&&&)(void*), mongo::(anonymous namespace)::MessagingPortWithHandler*&&&) + 24 at __functional_base:416
          frame #27: 0x0000000101343d8f mongod`void* std::__1::__thread_proxy<std::__1::tuple<std::__1::__bind<void* (*)(void*), mongo::(anonymous namespace)::MessagingPortWithHandler*> > >(void*) [inlined] std::__1::__bind_return<void* (*)(void*), std::__1::tuple<mongo::(anonymous namespace)::MessagingPortWithHandler*>, std::__1::tuple<>, __is_valid_bind_return<void* (*)(void*), std::__1::tuple<mongo::(anonymous namespace)::MessagingPortWithHandler*>, std::__1::tuple<> >::value>::type std::__1::__apply_functor<void* (__f=0x0000000107800880, __bound_args=0x0000000107800888, __args=0x000070000082de70)(void*), std::__1::tuple<mongo::(anonymous namespace)::MessagingPortWithHandler*>, 0ul, std::__1::tuple<> >(void* (*&)(void*), std::__1::tuple<mongo::(anonymous namespace)::MessagingPortWithHandler*>&, std::__1::__tuple_indices<0ul>, std::__1::tuple<>&&) + 40 at functional:2097
          frame #28: 0x0000000101343d67 mongod`void* std::__1::__thread_proxy<std::__1::tuple<std::__1::__bind<void* (*)(void*), mongo::(anonymous namespace)::MessagingPortWithHandler*> > >(void*) [inlined] std::__1::__bind_return<void* (*)(void*), std::__1::tuple<mongo::(anonymous namespace)::MessagingPortWithHandler*>, std::__1::tuple<>, __is_valid_bind_return<void* (*)(void*), std::__1::tuple<mongo::(anonymous namespace)::MessagingPortWithHandler*>, std::__1::tuple<> >::value>::type std::__1::__bind<void* (this=0x0000000107800880)(void*), mongo::(anonymous namespace)::MessagingPortWithHandler*>::operator()<>() + 35 at functional:2160
          frame #29: 0x0000000101343d44 mongod`void* std::__1::__thread_proxy<std::__1::tuple<std::__1::__bind<void* (*)(void*), mongo::(anonymous namespace)::MessagingPortWithHandler*> > >(void*) [inlined] decltype(__f=0x0000000107800880)(void*), mongo::(anonymous namespace)::MessagingPortWithHandler*> >(fp)(std::__1::forward<>(fp0))) std::__1::__invoke<std::__1::__bind<void* (*)(void*), mongo::(anonymous namespace)::MessagingPortWithHandler*> >(std::__1::__bind<void* (*)(void*), mongo::(anonymous namespace)::MessagingPortWithHandler*>&&) + 11 at __functional_base:416
          frame #30: 0x0000000101343d39 mongod`void* std::__1::__thread_proxy<std::__1::tuple<std::__1::__bind<void* (*)(void*), mongo::(anonymous namespace)::MessagingPortWithHandler*> > >(void*) [inlined] void std::__1::__thread_execute<std::__1::__bind<void* (*)(void*), mongo::(anonymous namespace)::MessagingPortWithHandler*> >(__t=0x0000000107800880)(void*), mongo::(anonymous namespace)::MessagingPortWithHandler*> >&, std::__1::__tuple_indices<>) + 25 at thread:337
          frame #31: 0x0000000101343d20 mongod`void* std::__1::__thread_proxy<std::__1::tuple<std::__1::__bind<void* (*)(void*), mongo::(anonymous namespace)::MessagingPortWithHandler*> > >(__vp=0x0000000107800880) + 368 at thread:347
          frame #32: 0x00007fff8ee0599d libsystem_pthread.dylib`_pthread_body + 131
          frame #33: 0x00007fff8ee0591a libsystem_pthread.dylib`_pthread_start + 168
          frame #34: 0x00007fff8ee03351 libsystem_pthread.dylib`thread_start + 13
      

            Assignee:
            mathias@mongodb.com Mathias Stearn
            Reporter:
            kamran.khan Kamran K.
            Votes:
            0 Vote for this issue
            Watchers:
            6 Start watching this issue

              Created:
              Updated:
              Resolved: