-
Type: Improvement
-
Resolution: Fixed
-
Priority: Major - P3
-
Affects Version/s: None
-
Component/s: None
-
None
-
Fully Compatible
-
Execution Team 2021-07-26
-
29
In SERVER-52516, the global lock manager was converted to a decoration on the service context. However, our gdb and lldb debugger scripts were still referencing the 'globalLockManager' variable in the anonymous namespace. Subsequently, a wrapper class and instance was introduced to provide backwards compatibility. Unfortunately, the wrapper instance, without any explicit references to it in the LockState code, is susceptible to being optimized out by the compiler. This leads to errors in the hang analyzer output trying to access the lock manager:
Ignoring error 'Can't take address of "mongo::(anonymous namespace)::globalLockManager" which isn't an lvalue.' in dump_mongod_locks
Since the debugger scripts are intended for internal diagnostic purposes, we should remove the existing indirection and update these scripts to access the lock manager through the getGlobalLockManager() function.
- is related to
-
SERVER-56019 timeseries_index.js hangs in burn_in_tests burn_in:replica_sets_initsync_jscore_passthrough subtask
- Closed
-
SERVER-52516 Make LockManager a ServiceContext decoration
- Closed