summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMathias Stearn <mathias@10gen.com>2017-03-13 16:14:59 -0400
committerEddie Louie <eddie.louie@mongodb.com>2017-05-02 15:44:34 -0400
commite5dd0e46312916d5d8fdab205eaedb4a1bbb45b4 (patch)
treef2cd990f89761c75c94519587d9ff9a297c97613
parent95e74f808a49c064d39d9d6cce6e4aca47239038 (diff)
downloadmongo-e5dd0e46312916d5d8fdab205eaedb4a1bbb45b4.tar.gz
SERVER-28291 use frame.pc() rather than frame.name() for stack deduping
(cherry picked from commit a4ebe76b6d0c2b0a3d132da1536e29db92e00a08)
-rw-r--r--buildscripts/gdb/mongo.py8
1 files changed, 4 insertions, 4 deletions
diff --git a/buildscripts/gdb/mongo.py b/buildscripts/gdb/mongo.py
index fceff2379a3..a5ae56cdd2e 100644
--- a/buildscripts/gdb/mongo.py
+++ b/buildscripts/gdb/mongo.py
@@ -464,14 +464,14 @@ class MongoDBUniqueStack(gdb.Command):
raise ValueError("Unsupported platform: {}".format(sys.platform))
thread_info['header'] = header_format.format(**thread_info)
- functions = [] # list of function names from frames
+ addrs = [] # list of return addresses from frames
frame = gdb.newest_frame()
while frame:
- functions.append(frame.name())
+ addrs.append(frame.pc())
frame = frame.older()
- functions = tuple(functions) # tuples are hashable, lists aren't.
+ addrs = tuple(addrs) # tuples are hashable, lists aren't.
- unique = stacks.setdefault(functions, {'threads': []})
+ unique = stacks.setdefault(addrs, {'threads': []})
unique['threads'].append(thread_info)
if 'output' not in unique:
try: