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

mongod enterprise crash running as snmp sub-agent

    XMLWordPrintable

    Details

    • Type: Bug
    • Status: Closed
    • Priority: Major - P3
    • Resolution: Fixed
    • Affects Version/s: 3.0.4
    • Fix Version/s: 3.0.5, 3.1.6
    • Component/s: Stability
    • Labels:
    • Backwards Compatibility:
      Minor Change
    • Operating System:
      ALL
    • Backport Completed:
    • Steps To Reproduce:
      Hide

      1) Run mongoD as snmp sub-agent
      2) Run snmpwalk against mongoD (via the SNMP master process, in my test snmpd)

      Show
      1) Run mongoD as snmp sub-agent 2) Run snmpwalk against mongoD (via the SNMP master process, in my test snmpd)
    • Sprint:
      Quint Iteration 6

      Description

      Running snmpwalk against mongoD running as an SNMP sub-agent causes a mongoD crash with the following stack:

      Program received signal EXC_BAD_ACCESS, Could not access memory.
      Reason: KERN_INVALID_ADDRESS at address: 0x0000000000000000
      [Switching to process 17950 thread 0x1603]
      0x0000000000000000 in ?? ()
      (gdb) backtrace
      #0  0x0000000000000000 in ?? ()
      #1  0x0000000100446ec8 in mongo::(anonymous namespace)::DirectClientScope::DirectClientScope (this=0x105584758, txn=0x1055859b8) at src/mongo/db/dbdirectclient.cpp:55
      #2  0x00000001004465dd in mongo::(anonymous namespace)::DirectClientScope::DirectClientScope (this=0x105584758, txn=0x1055859b8) at src/mongo/db/dbdirectclient.cpp:57
      #3  0x000000010044643a in mongo::DBDirectClient::call (this=0x10379cac0, toSend=@0x105584920, response=@0x10379d090, assertOk=false, actualServer=0x10379c9d8) at src/mongo/db/dbdirectclient.cpp:123
      #4  0x000000010044665e in non-virtual thunk to mongo::DBDirectClient::call(mongo::Message&, mongo::Message&, bool, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >*) (this=0x10379cb58, toSend=@0x105584920, response=@0x10379d090, assertOk=false, actualServer=0x10379c9d8) at src/mongo/db/dbdirectclient.cpp:137
      #5  0x00000001000f71f5 in mongo::DBClientCursor::init (this=0x10379c9b0) at src/mongo/client/dbclientcursor.cpp:87
      #6  0x00000001000c42a0 in mongo::DBClientBase::query (this=0x10379cac0, ns=@0x105585330, query={static ReadPrefField = <optimized out>, static ReadPrefModeField = <optimized out>, static ReadPrefTagsField = <optimized out>, obj = {_objdata = 0x10379ce84 "\003\001", _ownedBuffer = {_holder = {px = 0x10379ce80}}}}, nToReturn=1, nToSkip=0, fieldsToReturn=0x0, queryOptions=0, batchSize=0) at src/mongo/client/dbclient.cpp:1164
      #7  0x00000001004468b7 in mongo::DBDirectClient::query (this=0x10379cac0, ns=@0x105585330, query=<value temporarily unavailable, due to optimizations>, nToReturn=1, nToSkip=0, fieldsToReturn=0x0, queryOptions=0, batchSize=0) at src/mongo/db/dbdirectclient.cpp:157
      #8  0x00000001000bf33a in mongo::DBClientInterface::findN (this=0x10379cac0, out=@0x105585100, ns=@0x105585330, query={static ReadPrefField = <optimized out>, static ReadPrefModeField = <optimized out>, static ReadPrefTagsField = <optimized out>, obj = {_objdata = 0x10379ce84 "\003\001", _ownedBuffer = {_holder = {px = 0x10379ce80}}}}, nToReturn=1, nToSkip=0, fieldsToReturn=0x0, queryOptions=0) at src/mongo/client/dbclient.cpp:1005
      #9  0x00000001000bfd15 in mongo::DBClientInterface::findOne (this=0x10379cac0, ns=@0x105585330, query=@0x105585260, fieldsToReturn=0x0, queryOptions=0) at src/mongo/client/dbclient.cpp:1024
      #10 0x00000001000b4108 in mongo::DBClientWithCommands::runCommand (this=0x10379cac0, dbname=@0x105585628, cmd=@0x10379cba0, info=@0x105585660, options=0) at src/mongo/client/dbclient.cpp:459
      #11 0x00000001006cf6e6 in mongo::ServerStatusClient::load (this=0x10379cac0) at src/mongo/db/modules/subscription/src/snmp/serverstatus_client.cpp:117
      #12 0x00000001006cf599 in mongo::ServerStatusClient::loadIfNeeded (this=0x10379cac0) at src/mongo/db/modules/subscription/src/snmp/serverstatus_client.cpp:100
      #13 0x00000001006cfe42 in mongo::ServerStatusClient::getElement (this=0x10379cac0, name=@0x105585a10) at src/mongo/db/modules/subscription/src/snmp/serverstatus_client.cpp:139
      #14 0x00000001006d00bd in mongo::ServerStatusClient::getInt64Field (this=0x10379cac0, name=@0x105585a10) at src/mongo/db/modules/subscription/src/snmp/serverstatus_client.cpp:173
      #15 0x00000001006d005d in mongo::ServerStatusClient::getDurationField (this=0x10379cac0, name=@0x105585a10) at src/mongo/db/modules/subscription/src/snmp/serverstatus_client.cpp:162
      #16 0x00000001006f42ea in mongo::callbacks::ServerStatusCallback::respond (this=0x1043268a0, var=0x10379b880) at src/mongo/db/modules/subscription/src/snmp/snmp.cpp:509
      #17 0x00000001006d1ffb in mongo::my_snmp_callback (handler=0x10430c860, reginfo=0x10430c520, reqinfo=0x103749520, requests=0x1037495e0) at src/mongo/db/modules/subscription/src/snmp/snmp.cpp:873
      #18 0x000000010342b0de in netsnmp_call_handler ()
      #19 0x000000010342b0de in netsnmp_call_handler ()
      #20 0x0000000103453986 in netsnmp_serialize_helper_handler ()
      #21 0x000000010342b0de in netsnmp_call_handler ()
      #22 0x0000000103437a85 in handle_var_requests ()
      #23 0x00000001034386ba in handle_pdu ()
      #24 0x00000001034365b5 in netsnmp_handle_request ()
      #25 0x00000001034349db in handle_snmp_packet ()
      #26 0x000000010359b1bd in _sess_read ()
      #27 0x00000001035998bb in _sess_read ()
      #28 0x0000000103598eee in snmp_read2 ()
      #29 0x0000000103598eb4 in snmp_read ()
      #30 0x0000000103433e30 in agent_check_and_process ()
      #31 0x00000001006d3809 in mongo::SNMPAgent::run (this=0x101dc5148) at src/mongo/db/modules/subscription/src/snmp/snmp.cpp:789
      #32 0x0000000100f77da5 in mongo::BackgroundJob::jobBody (this=0x101dc5148) at src/mongo/util/background.cpp:163
      #33 0x0000000100f7bbec in _ZN5boost6detail11thread_dataINSt3__16__bindIMN5mongo13BackgroundJobEFvvEJPS5_EEEE3runEv (this=0x104323790) at __functional_base:380
      #34 0x0000000101100204 in boost::(anonymous namespace)::thread_proxy (param=0x104323790) at src/third_party/boost/libs/thread/src/pthread/thread.cpp:121
      #35 0x00007fff8e469268 in _pthread_body ()
      #36 0x00007fff8e4691e5 in _pthread_start ()
      #37 0x00007fff8e46741d in thread_start ()
      

        Attachments

          Activity

            People

            • Votes:
              0 Vote for this issue
              Watchers:
              4 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: