[SERVER-28444] Dump a JavaScript backtrace of any code running in SpiderMonkey from WinDBG in hang_analyzer.py Created: 23/Mar/17  Updated: 06/Dec/22  Resolved: 11/May/20

Status: Closed
Project: Core Server
Component/s: Testing Infrastructure
Affects Version/s: None
Fix Version/s: None

Type: Task Priority: Major - P3
Reporter: Jonathan Abrahams Assignee: Backlog - Server Tooling and Methods (STM) (Inactive)
Resolution: Won't Fix Votes: 0
Labels: PM-626, stm, tig-hanganalyzer
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Assigned Teams:
Server Tooling & Methods
Participants:

 Description   

This is similar work as already done for GDB in SERVER-27873



 Comments   
Comment by Ryan Timmons [ 11/May/20 ]

Closing as wont-fix to indicate that there is currently no intention of doing this. Please re-open if there is priority for this. Perhaps this change could self-service by an appropriate server team if this is necessary rather than having to go thru the STM prioritization queue.

Comment by Jonathan Abrahams [ 30/Mar/17 ]

Using the binaries in the same patch build with {--opt=off} now has the symbols, so these functions seem to be optimized out in the no-opt build:

$ strings mongod.pdb | grep  buildStackString
mongo::mozjs::MozJSImplScope::buildStackString
`mongo::mozjs::MozJSImplScope::buildStackString'::`1'::dtor$0
`mongo::mozjs::MozJSImplScope::buildStackString'::`1'::dtor$2
`mongo::mozjs::MozJSImplScope::buildStackString'::`1'::dtor$3
?buildStackString@MozJSImplScope@mozjs@mongo@@QEAA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@XZ
mongo::mozjs::MozJSImplScope::buildStackString
`mongo::mozjs::MozJSImplScope::buildStackString'::`1'::dtor$0
`mongo::mozjs::MozJSImplScope::buildStackString'::`1'::dtor$2
`mongo::mozjs::MozJSImplScope::buildStackString'::`1'::dtor$3
buildStackString
buildStackString
$ strings mongod.pdb | grep  dumpStackString
mongo::mozjs::MozJSImplScope::dumpStackString
`mongo::mozjs::MozJSImplScope::dumpStackString'::`1'::dtor$0
?dumpStackString@MozJSImplScope@mozjs@mongo@@QEAAXXZ
mongo::mozjs::MozJSImplScope::dumpStackString
`mongo::mozjs::MozJSImplScope::dumpStackString'::`1'::dtor$0
dumpStackString
dumpStackString

Within CDB:

0:008> x mongo!*dumpStackString
00007ff6`a7e9a1c0 mongo!mongo::mozjs::MozJSImplScope::dumpStackString (void)

Alas, invoking that function hangs!

Generated at Thu Feb 08 04:18:09 UTC 2024 using Jira 9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66.