-
Type: Bug
-
Resolution: Done
-
Priority: Major - P3
-
Affects Version/s: 3.0.4
-
Component/s: Stability
-
Minor Change
-
ALL
-
-
Quint Iteration 6
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 ()
- links to