[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