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

GDB thread-local variables not available on Solaris

    • Type: Icon: Bug Bug
    • Resolution: Won't Fix
    • Priority: Icon: Major - P3 Major - P3
    • None
    • Affects Version/s: 3.5.4
    • Component/s: Build
    • Labels:
    • ALL

      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
      

            Assignee:
            backlog-server-tig DO NOT USE - Backlog - Test Infrastructure Group (TIG)
            Reporter:
            jonathan.abrahams Jonathan Abrahams
            Votes:
            0 Vote for this issue
            Watchers:
            5 Start watching this issue

              Created:
              Updated:
              Resolved: