[SERVER-61176] gdb process info included in hang analyzer output Created: 01/Nov/21  Updated: 06/Dec/22

Status: Backlog
Project: Core Server
Component/s: None
Affects Version/s: None
Fix Version/s: None

Type: Bug Priority: Major - P3
Reporter: Benety Goh Assignee: Backlog - Server Tooling and Methods (STM) (Inactive)
Resolution: Unresolved Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Assigned Teams:
Server Tooling & Methods
Operating System: ALL
Participants:
Story Points: 2

 Description   

In a recent patch build, I noticed that the hang analyzer included the backtraces for the gdb process in the generated archive:

debugger_gdb.log
debugger_gdb_21307.log
debugger_gdb_21307_raw_stacks.log
debugger_mongo.log
debugger_mongod.log
debugger_mongod_8100.log
debugger_mongod_8100_raw_stacks.log
debugger_mongod_8221.log
debugger_mongod_8221_raw_stacks.log
...

Our custom GDB commands called by the hang analyzer generally assume that the target process is a

{mongo}

binary - this results in Python errors logged in the

{debugger_gdb_N.log}

files:

Running Hang Analyzer Supplement - MongoDBDumpLocks
Not invoking mongod lock dump for: gdb
Not generating the digraph, since the lock graph is empty
Running Print JavaScript Stack Supplement
No JavaScript stack print done for: gdb
Traceback (most recent call last):
  File "buildscripts/gdb/mongo.py", line 305, in invoke
    session_catalog = get_session_catalog()
  File "buildscripts/gdb/mongo.py", line 91, in get_session_catalog
    session_catalog_dec = get_decoration(get_global_service_context(), "mongo::SessionCatalog")
  File "buildscripts/gdb/mongo.py", line 82, in get_global_service_context
    return gdb.parse_and_eval("'mongo::(anonymous namespace)::globalServiceContext'").dereference()
gdb.error: No symbol "mongo::(anonymous namespace)::globalServiceContext" in current context.
Error occurred in Python: No symbol "mongo::(anonymous namespace)::globalServiceContext" in current context.
Dumping mutex info for all Clients
Traceback (most recent call last):
  File "buildscripts/gdb/mongo.py", line 408, in invoke
    service_context = get_global_service_context()
  File "buildscripts/gdb/mongo.py", line 82, in get_global_service_context
    return gdb.parse_and_eval("'mongo::(anonymous namespace)::globalServiceContext'").dereference()
gdb.error: No symbol "mongo::(anonymous namespace)::globalServiceContext" in current context.
Error occurred in Python: No symbol "mongo::(anonymous namespace)::globalServiceContext" in current context.
Dumping recovery unit info for all clients and sessions
Not invoking mongod recovery unit dump for: gdb



 Comments   
Comment by Steven Vannelli [ 10/May/22 ]

Moving this ticket to the Backlog and removing the "Backlog" fixVersion as per our latest policy for using fixVersions.

Generated at Thu Feb 08 05:51:45 UTC 2024 using Jira 9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66.