-
Type:
Improvement
-
Resolution: Done
-
Priority:
Minor - P4
-
None
-
Affects Version/s: 2.4.3
-
Component/s: Logging
-
None
-
None
-
None
-
None
-
None
-
None
-
None
The shell does not demangle C++ function and method names when print a stack trace. Example:
Sat May 4 14:04:52.352 Assertion failure isABSONObj() src/mongo/db/../bson/bson-inl.h 183 0x10017116b 0x100135396 0x10001bbde 0x100001e21 0x7fff8d4af94a 0 0x10015f232 0x10015fdad 0x100160095 0x10007104d 0x1000a2581 0x1000627bf 0x10007e3eb 0x100127a85 0x10010f92f 0x3258efc4c4db 0 mongo 0x000000010017116b _ZN5mongo15printStackTraceERSo + 43 1 mongo 0x0000000100135396 _ZN5mongo12verifyFailedEPKcS1_j + 310 2 mongo 0x000000010001bbde _ZNK5mongo11shell_utils18ConnectionRegistry30killOperationsOnAllConnectionsEb + 1342 3 mongo 0x0000000100001e21 _Z10quitNicelyi + 145 4 libsystem_c.dylib 0x00007fff8d4af94a _sigtramp + 26 5 ??? 0x0000000000000000 0x0 + 0 6 mongo 0x000000010015f232 _ZN5mongo13MessagingPort4recvERNS_7MessageE + 130 7 mongo 0x000000010015fdad _ZN5mongo13MessagingPort4recvERKNS_7MessageERS1_ + 45 8 mongo 0x0000000100160095 _ZN5mongo13MessagingPort4callERNS_7MessageES2_ + 53 9 mongo 0x000000010007104d _ZN5mongo18DBClientConnection4callERNS_7MessageES2_bPSs + 77 10 mongo 0x00000001000a2581 _ZN5mongo14DBClientCursor4initEv + 161 11 mongo 0x00000001000627bf _ZN5mongo12DBClientBase5queryERKSsNS_5QueryEiiPKNS_7BSONObjEii + 191 12 mongo 0x000000010007e3eb _ZN5mongo18DBClientConnection5queryERKSsNS_5QueryEiiPKNS_7BSONObjEii + 139 13 mongo 0x0000000100127a85 _ZN5mongo9mongoFindEPNS_7V8ScopeERKN2v89ArgumentsE + 965 14 mongo 0x000000010010f92f _ZN5mongo7V8Scope10v8CallbackERKN2v89ArgumentsE + 175 15 ??? 0x00003258efc4c4db 0x0 + 55357561160923 Sat May 4 14:04:52.354 terminate() called in shell, printing stack: 0x10017116b 0x100001d33 0x7fff862703c9 0x7fff86270424 0x7fff8627158b 0x10013556c 0x10001bbde 0x100001e21 0x7fff8d4af94a 0 0x10015f232 0x10015fdad 0x100160095 0x10007104d 0x1000a2581 0x1000627bf 0x10007e3eb 0x100127a85 0x10010f92f 0x3258efc4c4db 0 mongo 0x000000010017116b _ZN5mongo15printStackTraceERSo + 43 1 mongo 0x0000000100001d33 _Z11myterminatev + 67 2 libc++abi.dylib 0x00007fff862703c9 _ZL19safe_handler_callerPFvvE + 8 3 libc++abi.dylib 0x00007fff86270424 __cxa_bad_typeid + 0 4 libc++abi.dylib 0x00007fff8627158b _ZL23__gxx_exception_cleanup19_Unwind_Reason_CodeP17_Unwind_Exception + 0 5 mongo 0x000000010013556c _ZN5mongo12verifyFailedEPKcS1_j + 780 6 mongo 0x000000010001bbde _ZNK5mongo11shell_utils18ConnectionRegistry30killOperationsOnAllConnectionsEb + 1342 7 mongo 0x0000000100001e21 _Z10quitNicelyi + 145 8 libsystem_c.dylib 0x00007fff8d4af94a _sigtramp + 26 9 ??? 0x0000000000000000 0x0 + 0 10 mongo 0x000000010015f232 _ZN5mongo13MessagingPort4recvERNS_7MessageE + 130 11 mongo 0x000000010015fdad _ZN5mongo13MessagingPort4recvERKNS_7MessageERS1_ + 45 12 mongo 0x0000000100160095 _ZN5mongo13MessagingPort4callERNS_7MessageES2_ + 53 13 mongo 0x000000010007104d _ZN5mongo18DBClientConnection4callERNS_7MessageES2_bPSs + 77 14 mongo 0x00000001000a2581 _ZN5mongo14DBClientCursor4initEv + 161 15 mongo 0x00000001000627bf _ZN5mongo12DBClientBase5queryERKSsNS_5QueryEiiPKNS_7BSONObjEii + 191 16 mongo 0x000000010007e3eb _ZN5mongo18DBClientConnection5queryERKSsNS_5QueryEiiPKNS_7BSONObjEii + 139 17 mongo 0x0000000100127a85 _ZN5mongo9mongoFindEPNS_7V8ScopeERKN2v89ArgumentsE + 965 18 mongo 0x000000010010f92f _ZN5mongo7V8Scope10v8CallbackERKN2v89ArgumentsE + 175 19 ??? 0x00003258efc4c4db 0x0 + 55357561160923
It should instead print something like this:
Sat May 4 14:06:17.138 Assertion failure isABSONObj() src/mongo/bson/bson-inl.h 183 0x10c7c1d4d 0x10c79ffcc 0x10c757351 0x10c6e3e0a 0x10c6d5cd5 0x7fff8d4af94a 0x10d5f20a0 0x10c7b6c4c 0x10c7b7291 0x10c7b7628 0x10c71b0ae 0x10c71b2fd 0x10c73e39a 0x10c718b70 0x10c724532 0x10c79a637 0x10c783882 0x23cf5ea4ce17 0 0x10c7c1d4d mongo::printStackTrace(std::ostream&) + 61 1 0x10c79ffcc mongo::verifyFailed(char const*, char const*, unsigned int) + 284 2 0x10c757351 mongo::BSONElement::embeddedObject() const + 193 3 0x10c6e3e0a mongo::shell_utils::ConnectionRegistry::killOperationsOnAllConnections(bool) const + 524 4 0x10c6d5cd5 quitNicely(int) + 85 5 0x7fff8d4af94a _sigtramp + 26 6 0x10d5f20a0 0x0 + 4519305376 7 0x10c7b6c4c mongo::MessagingPort::recv(mongo::Message&) + 112 8 0x10c7b7291 mongo::MessagingPort::recv(mongo::Message const&, mongo::Message&) + 33 9 0x10c7b7628 mongo::MessagingPort::call(mongo::Message&, mongo::Message&) + 52 10 0x10c71b0ae mongo::DBClientConnection::call(mongo::Message&, mongo::Message&, bool, std::string*) + 88 11 0x10c71b2fd non-virtual thunk to mongo::DBClientConnection::call(mongo::Message&, mongo::Message&, bool, std::string*) + 13 12 0x10c73e39a mongo::DBClientCursor::init() + 304 13 0x10c718b70 mongo::DBClientBase::query(std::string const&, mongo::Query, int, int, mongo::BSONObj const*, int, int) + 180 14 0x10c724532 mongo::DBClientConnection::query(std::string const&, mongo::Query, int, int, mongo::BSONObj const*, int, int) + 130 15 0x10c79a637 mongo::mongoFind(mongo::V8Scope*, v8::Arguments const&) + 1031 16 0x10c783882 mongo::V8Scope::v8Callback(v8::Arguments const&) + 116 17 0x23cf5ea4ce17 0x0 + 39373553061399 Sat May 4 14:06:17.141 terminate() called in shell, printing stack: 0x10c7c1d4d 0x10c6d5eaf 0x7fff862703c9 0x7fff86270424 0x7fff8627158b 0x10c7a0113 0x10c757351 0x10c6e3e0a 0x10c6d5cd5 0x7fff8d4af94a 0x10d5f20a0 0x10c7b6c4c 0x10c7b7291 0x10c7b7628 0x10c71b0ae 0x10c71b2fd 0x10c73e39a 0x10c718b70 0x10c724532 0x10c79a637 0 0x10c7c1d4d mongo::printStackTrace(std::ostream&) + 61 1 0x10c6d5eaf myterminate() + 79 2 0x7fff862703c9 safe_handler_caller(void (*)()) + 8 3 0x7fff86270424 __cxa_bad_typeid + 0 4 0x7fff8627158b __gxx_exception_cleanup(_Unwind_Reason_Code, _Unwind_Exception*) + 0 5 0x10c7a0113 mongo::verifyFailed(char const*, char const*, unsigned int) + 611 6 0x10c757351 mongo::BSONElement::embeddedObject() const + 193 7 0x10c6e3e0a mongo::shell_utils::ConnectionRegistry::killOperationsOnAllConnections(bool) const + 524 8 0x10c6d5cd5 quitNicely(int) + 85 9 0x7fff8d4af94a _sigtramp + 26 10 0x10d5f20a0 0x0 + 4519305376 11 0x10c7b6c4c mongo::MessagingPort::recv(mongo::Message&) + 112 12 0x10c7b7291 mongo::MessagingPort::recv(mongo::Message const&, mongo::Message&) + 33 13 0x10c7b7628 mongo::MessagingPort::call(mongo::Message&, mongo::Message&) + 52 14 0x10c71b0ae mongo::DBClientConnection::call(mongo::Message&, mongo::Message&, bool, std::string*) + 88 15 0x10c71b2fd non-virtual thunk to mongo::DBClientConnection::call(mongo::Message&, mongo::Message&, bool, std::string*) + 13 16 0x10c73e39a mongo::DBClientCursor::init() + 304 17 0x10c718b70 mongo::DBClientBase::query(std::string const&, mongo::Query, int, int, mongo::BSONObj const*, int, int) + 180 18 0x10c724532 mongo::DBClientConnection::query(std::string const&, mongo::Query, int, int, mongo::BSONObj const*, int, int) + 130 19 0x10c79a637 mongo::mongoFind(mongo::V8Scope*, v8::Arguments const&) + 1031
- links to