Operational Defect Database

BugZero found this defect 2534 days ago.

MongoDB | 365717

[SERVER-28373] GDB thread-local variables not available on Solaris

Last update date:

9/28/2017

Affected products:

MongoDB Server

Affected releases:

3.5.4

Fixed releases:

No fixed releases provided.

Description:

Info

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

Top User Comments

max.hirschhorn@10gen.com commented on Thu, 28 Sep 2017 02:36:49 +0000: Closing as "Won't fix" because we've dropped support for Solaris (see SERVER-30558). jonathan.abrahams commented on Thu, 30 Mar 2017 16:10:59 +0000: Stackoverflow question posted. Also sent email to GDB mail list. jonathan.abrahams commented on Thu, 30 Mar 2017 14:14:27 +0000: It seems that TLS is not supported on GDB on Solaris. I'm trying to verify this is indeed the case.

Additional Resources / Links

Share:

BugZero Risk Score

Coming soon

Status

Closed

Have you been affected by this bug?

cost-cta-background

Do you know how much operational outages are costing you?

Understand the cost to your business and how BugZero can help you reduce those costs.

Discussion

Login to read and write comments.

Have you ever...

had your data corrupted from a

VMware

bug?

Search:

...