summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMathias Stearn <mathias@10gen.com>2017-03-13 16:14:59 -0400
committerMathias Stearn <mathias@10gen.com>2017-03-24 16:13:26 -0400
commita4ebe76b6d0c2b0a3d132da1536e29db92e00a08 (patch)
tree0232867843f0cf38900bf05b888d14d1b35a301c
parent77f7e96fdccfdfb1313a1a2ac57ebab8ed0e8882 (diff)
downloadmongo-a4ebe76b6d0c2b0a3d132da1536e29db92e00a08.tar.gz
SERVER-28291 use frame.pc() rather than frame.name() for stack deduping
-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 22420ef0ec2..f32d434f368 100644
--- a/buildscripts/gdb/mongo.py
+++ b/buildscripts/gdb/mongo.py
@@ -445,14 +445,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: