summaryrefslogtreecommitdiff
path: root/buildscripts/resmokelib/hang_analyzer/dumper.py
diff options
context:
space:
mode:
authorLucas de Castro Borges <lucas@gnuabordo.com.br>2025-02-14 14:26:38 -0300
committerLucas de Castro Borges <lucas@gnuabordo.com.br>2025-02-14 14:26:38 -0300
commit294bc6ecabf14c09c9bc8644704921dcf97cb44e (patch)
tree279b1e0bab53901a1647ac63c1c724f0f789a663 /buildscripts/resmokelib/hang_analyzer/dumper.py
parent70be7c27a251621187a1de533462ae2bb1e3bd39 (diff)
parent1e917fd798aa25b7066d4b414b51184f13d5a092 (diff)
Update upstream source from tag 'upstream/6.0.10'debian/6.0.10-1
Update to upstream version '6.0.10' with Debian dir 2d176fa254eee97b139f712fec5709641335a8c3
Diffstat (limited to 'buildscripts/resmokelib/hang_analyzer/dumper.py')
-rw-r--r--buildscripts/resmokelib/hang_analyzer/dumper.py10
1 files changed, 9 insertions, 1 deletions
diff --git a/buildscripts/resmokelib/hang_analyzer/dumper.py b/buildscripts/resmokelib/hang_analyzer/dumper.py
index e5112b870b3..2c4d4b761d7 100644
--- a/buildscripts/resmokelib/hang_analyzer/dumper.py
+++ b/buildscripts/resmokelib/hang_analyzer/dumper.py
@@ -458,7 +458,15 @@ class GDBDumper(Dumper):
cmds = self._prefix() + self._process_specific(pinfo, take_dump, logger) + self._postfix()
- call([dbg, "--quiet", "--nx"] + list(
+ # gcore is both a command within GDB and a script packaged alongside gdb. The gcore script
+ # invokes the gdb binary with --readnever to avoid spending time loading the debug symbols
+ # prior to taking the core dump. The debug symbols are unneeded to generate the core dump.
+ #
+ # For reference
+ # https://sourceware.org/git/?p=binutils-gdb.git;a=blob;f=gdb/gcore.in;h=34860de630cf0ee766e102eb82f7a3fddba6b368#l101
+ skip_reading_symbols_on_take_dump = ["--readnever"] if take_dump else []
+
+ call([dbg, "--quiet", "--nx"] + skip_reading_symbols_on_take_dump + list(
itertools.chain.from_iterable([['-ex', b] for b in cmds])), logger)
self._root_logger.info("Done analyzing %s processes with PIDs %s", pinfo.name,