[Lldb-commits] [lldb] 47d7a81 - [lldb/Util] Use md5 instead of python's hash function.
Jonas Devlieghere via lldb-commits
lldb-commits at lists.llvm.org
Thu Jan 23 16:37:09 PST 2020
Author: Jonas Devlieghere
Date: 2020-01-23T16:37:03-08:00
New Revision: 47d7a81ba4bb4be2e6027fb44aa4cbfaffe9c3f2
URL: https://github.com/llvm/llvm-project/commit/47d7a81ba4bb4be2e6027fb44aa4cbfaffe9c3f2
DIFF: https://github.com/llvm/llvm-project/commit/47d7a81ba4bb4be2e6027fb44aa4cbfaffe9c3f2.diff
LOG: [lldb/Util] Use md5 instead of python's hash function.
Because of the way the Python hash function works, it's not guaranteed
to be the same. This was causing a lot of reproducers to be generated
for the same tests, even though the CWD or arguments didn't change.
Switching to an MD5 hash should fix that.
Added:
Modified:
lldb/utils/lldb-repro/lldb-repro.py
Removed:
################################################################################
diff --git a/lldb/utils/lldb-repro/lldb-repro.py b/lldb/utils/lldb-repro/lldb-repro.py
index f7579e8d14d3..c1d62994f2f3 100755
--- a/lldb/utils/lldb-repro/lldb-repro.py
+++ b/lldb/utils/lldb-repro/lldb-repro.py
@@ -18,6 +18,7 @@
import os
import tempfile
import subprocess
+import hashlib
def help():
@@ -29,11 +30,12 @@ def main():
help()
return 1
- # Compute a hash based on the input arguments and the current working
+ # Compute an MD5 hash based on the input arguments and the current working
# directory.
- args = ' '.join(sys.argv[2:])
- cwd = os.getcwd()
- input_hash = str(hash((cwd, args)))
+ h = hashlib.md5()
+ h.update(' '.join(sys.argv[2:]))
+ h.update(os.getcwd())
+ input_hash = h.hexdigest()
# Use the hash to "uniquely" identify a reproducer path.
reproducer_path = os.path.join(tempfile.gettempdir(), input_hash)
More information about the lldb-commits
mailing list