-
Type: Improvement
-
Resolution: Fixed
-
Priority: Major - P3
-
Affects Version/s: None
-
Component/s: Testing Infrastructure
-
Fully Compatible
-
v6.2, v6.0, v5.0
-
Sharding NYC 2023-01-09, Sharding NYC 2023-01-23
The hang analyzer uses the gcore command (aka generate-core-file) within a GDB session to generate a core dump. By default, GDB will load the debug symbols for the process when the attach command is run. The gcore script uses the --readnever option when invoking gdb to skip the expense of loading debug symbols before taking the core dump. This cost is amortized in the hang analyzer because it'll use a single GDB session for all processes of the same type (i.e. a single gdb process attaches to all mongod processes). However we can use --readnever in the hang analyzer when it does the first round of attach commands to only take core dumps and avoid the cost altogether.
# `</dev/null' to avoid touching interactive terminal if it is # available but not accessible as GDB would get stopped on SIGTTIN. "$binary_path/@GDB_TRANSFORM_NAME@" </dev/null \ --nx --batch --readnever \ -ex "set pagination off" -ex "set height 0" -ex "set width 0" \ "${dump_all_cmds[@]}" \ -ex "attach $pid" -ex "gcore $prefix.$pid" -ex detach -ex quit
https://sourceware.org/git/?p=binutils-gdb.git;a=commit;h=8a6a85134d78531c6adb72a888844f7cfa3a5c56
- is related to
-
SERVER-70802 Mongod data directory and FTDC files not uploaded as part of timeout
- Closed
-
SERVER-56167 Guarantee hang analyzer collects core dumps for sharded clusters, at minimum
- Closed
- related to
-
SERVER-75070 increase hang analyzer self test timeout
- Closed