Using GDB 7.12, on Solaris, I was unable to access any thread-local variables in SpiderMonkey:
(gdb) bt #0 0x00007fffff2674aa in __so_recv () from /lib/64/libc.so.1 #1 0x00007fffff25296b in _so_recv () from /lib/64/libc.so.1 #2 0x00007ffffe9f0742 in recv () from /lib/64/libsocket.so.1 #3 0x0000000000e9d509 in mongo::Socket::_recv (this=this@entry=0x46ef970, buf=buf@entry=0x7ffff22f83d0 "\220\211/\362\377\177", max=max@entry=16) at src/mongo/util/net/sock.cpp:636 #4 0x0000000000e9d597 in mongo::Socket::unsafe_recv (max=16, buf=0x7ffff22f83d0 "\220\211/\362\377\177", this=0x46ef970) at src/mongo/util/net/sock.cpp:624 #5 mongo::Socket::recv (this=0x46ef970, buf=buf@entry=0x7ffff22f83d0 "\220\211/\362\377\177", len=len@entry=16) at src/mongo/util/net/sock.cpp:614 #6 0x0000000000e987df in mongo::MessagingPort::recv (this=this@entry=0x46ed720, m=...) at src/mongo/util/net/message_port.cpp:97 #7 0x0000000000e99568 in mongo::MessagingPort::call (this=0x46ed720, toSend=..., response=...) at src/mongo/util/net/message_port.cpp:182 #8 0x0000000000ac8f47 in mongo::DBClientConnection::call (this=0x47ba900, toSend=..., response=..., assertOk=<optimized out>, actualServer=<optimized out>) at src/mongo/client/dbclient.cpp:1372 #9 0x0000000000ac21e1 in mongo::DBClientWithCommands::runCommandWithMetadata (this=0x47ba900, database=..., command=..., metadata=..., commandArgs=...) at src/mongo/client/dbclient.cpp:205 #10 0x0000000000abd001 in mongo::DBClientWithCommands::runCommandWithMetadataAndTarget (this=this@entry=0x47ba900, database=..., command=..., metadata=..., commandArgs=...) at src/mongo/client/dbclient.cpp:244 #11 0x0000000000abd70e in mongo::DBClientWithCommands::runCommandWithTarget (this=0x47ba900, dbname=..., cmd=..., info=..., options=<optimized out>) at src/mongo/client/dbclient.cpp:261 #12 0x0000000000de727b in mongo::mozjs::MongoBase::Functions::runCommand::call (cx=0x2d7f210, args=...) at src/mongo/scripting/mozjs/mongo.cpp:207 #13 0x0000000000df0219 in bool mongo::mozjs::smUtils::wrapConstrainedMethod<mongo::mozjs::MongoBase::Functions::runCommand, true, mongo::mozjs::MongoLocalInfo, mongo::mozjs::MongoExternalInfo>(JSContext*, unsigned int, JS::Value*) () at /opt/mongodbtoolchain/v2/include/c++/5.4.0/bits/shared_ptr_base.h:374 #14 0x00000000013e8f16 in js::CallJSNative (args=..., native=<optimized out>, cx=0x2d7f210) at src/third_party/mozjs-45/extract/js/src/jscntxtinlines.h:240 #15 js::Invoke (cx=0x2d7f210, args=..., construct=<optimized out>) at src/third_party/mozjs-45/extract/js/src/vm/Interpreter.cpp:444 #16 0x00000000013e4836 in Interpret (cx=0x2d7f210, state=...) at src/third_party/mozjs-45/extract/js/src/vm/Interpreter.cpp:2766 #17 0x00000000013e8b52 in js::RunScript (cx=cx@entry=0x2d7f210, state=...) at src/third_party/mozjs-45/extract/js/src/vm/Interpreter.cpp:391 #18 0x00000000013e8ffc in js::Invoke (cx=cx@entry=0x2d7f210, args=..., construct=construct@entry=js::NO_CONSTRUCT) at src/third_party/mozjs-45/extract/js/src/vm/Interpreter.cpp:462 #19 0x00000000012e1cc7 in js::fun_call (cx=cx@entry=0x2d7f210, argc=<optimized out>, vp=0x37feaf8) at src/third_party/mozjs-45/extract/js/src/jsfun.cpp:1192 #20 0x00000000013e8f16 in js::CallJSNative (args=..., native=<optimized out>, cx=0x2d7f210) at src/third_party/mozjs-45/extract/js/src/jscntxtinlines.h:240 #21 js::Invoke (cx=0x2d7f210, args=..., construct=<optimized out>) at src/third_party/mozjs-45/extract/js/src/vm/Interpreter.cpp:444 #22 0x00000000013e4836 in Interpret (cx=0x2d7f210, state=...) at src/third_party/mozjs-45/extract/js/src/vm/Interpreter.cpp:2766 #23 0x00000000013e8b52 in js::RunScript (cx=cx@entry=0x2d7f210, state=...) at src/third_party/mozjs-45/extract/js/src/vm/Interpreter.cpp:391 #24 0x00000000013e8ffc in js::Invoke (cx=cx@entry=0x2d7f210, args=..., construct=construct@entry=js::NO_CONSTRUCT) at src/third_party/mozjs-45/extract/js/src/vm/Interpreter.cpp:462 #25 0x00000000012f33b2 in js::fun_apply (cx=cx@entry=0x2d7f210, argc=<optimized out>, vp=0x37fe7c0) at src/third_party/mozjs-45/extract/js/src/jsfun.cpp:1259 #26 0x00000000013e8f16 in js::CallJSNative (args=..., native=<optimized out>, cx=0x2d7f210) at src/third_party/mozjs-45/extract/js/src/jscntxtinlines.h:240 #27 js::Invoke (cx=0x2d7f210, args=..., construct=<optimized out>) at src/third_party/mozjs-45/extract/js/src/vm/Interpreter.cpp:444 #28 0x00000000013e4836 in Interpret (cx=0x2d7f210, state=...) at src/third_party/mozjs-45/extract/js/src/vm/Interpreter.cpp:2766 #29 0x00000000013e8b52 in js::RunScript (cx=cx@entry=0x2d7f210, state=...) at src/third_party/mozjs-45/extract/js/src/vm/Interpreter.cpp:391 #30 0x00000000013e8ffc in js::Invoke (cx=cx@entry=0x2d7f210, args=..., construct=construct@entry=js::NO_CONSTRUCT) at src/third_party/mozjs-45/extract/js/src/vm/Interpreter.cpp:462 #31 0x00000000013e9994 in js::Invoke (cx=0x2d7f210, thisv=..., fval=..., argc=5, argv=<optimized out>, rval=...) at src/third_party/mozjs-45/extract/js/src/vm/Interpreter.cpp:496 #32 0x0000000001285db0 in JS_CallFunctionValue (cx=<optimized out>, obj=..., obj@entry=..., fval=..., fval@entry=..., args=..., rval=..., rval@entry=...) at src/third_party/mozjs-45/extract/js/src/jsapi.cpp:2790 #33 0x0000000000dd863f in JS::Call (rval=..., args=..., fun=..., thisObj=..., cx=<optimized out>) at src/third_party/mozjs-45/include/jsapi.h:3179 #34 mongo::mozjs::MozJSImplScope::callThreadArgs (this=0x7ffff22fbd90, args=...) at src/mongo/scripting/mozjs/implscope.cpp:571 #35 0x0000000000de2940 in mongo::mozjs::JSThreadConfig::JSThread::run(void*) () at /opt/mongodbtoolchain/v2/include/c++/5.4.0/bits/shared_ptr_base.h:374 #36 0x0000000000dbbe63 in nspr::Thread::ThreadRoutine (arg=0x263f220) at src/mongo/scripting/mozjs/PosixNSPR.cpp:57 #37 0x00000000016d3a61 in execute_native_thread_routine () #38 0x00007fffff260b7a in _thrp_setup () from /lib/64/libc.so.1 #39 0x00007fffff260e90 in ?? () from /lib/64/libc.so.1 #40 0x0000000000000000 in ?? () (gdb) p mongo::mozjs::kCurrentScope Cannot find thread-local variables on this target
- is depended on by
-
SERVER-27874 Display locks and generate digraph for threads using LockManager locks and/or pthread_mutexes
- Closed