[Lldb-commits] [lldb] a114f15 - [lldb] Deflake TestTsanBasic.py

Dmitry Vyukov via lldb-commits lldb-commits at lists.llvm.org
Tue Nov 23 08:55:24 PST 2021


Author: Dmitry Vyukov
Date: 2021-11-23T17:55:20+01:00
New Revision: a114f151930d29967963fd22f328a906638a2818

URL: https://github.com/llvm/llvm-project/commit/a114f151930d29967963fd22f328a906638a2818
DIFF: https://github.com/llvm/llvm-project/commit/a114f151930d29967963fd22f328a906638a2818.diff

LOG: [lldb] Deflake TestTsanBasic.py

The test flaked on bots:
http://green.lab.llvm.org/green/job/lldb-cmake/38666/
The test expects that tsan will detect a single race
with concurrent memory accesses. TSan doesn't do this reliably.
Run 100 iterations of the racing threads, which should
make the race much more likely to be detected.

Reviewed By: melver

Differential Revision: https://reviews.llvm.org/D114444

Added: 
    

Modified: 
    lldb/test/API/functionalities/tsan/basic/main.c

Removed: 
    


################################################################################
diff  --git a/lldb/test/API/functionalities/tsan/basic/main.c b/lldb/test/API/functionalities/tsan/basic/main.c
index a47806188697c..1e2e43cc13e24 100644
--- a/lldb/test/API/functionalities/tsan/basic/main.c
+++ b/lldb/test/API/functionalities/tsan/basic/main.c
@@ -16,14 +16,17 @@ void *f2(void *p) {
 
 int main (int argc, char const *argv[])
 {
-    pointer = (char *)malloc(10); // malloc line
+    for (int i = 0; i < 100; i++) {
+        pointer = (char *)malloc(10); // malloc line
 
-    pthread_t t1, t2;
-    pthread_create(&t1, NULL, f1, NULL);
-    pthread_create(&t2, NULL, f2, NULL);
+        pthread_t t1, t2;
+        pthread_create(&t1, NULL, f1, NULL);
+        pthread_create(&t2, NULL, f2, NULL);
 
-    pthread_join(t1, NULL);
-    pthread_join(t2, NULL);
+        pthread_join(t1, NULL);
+        pthread_join(t2, NULL);
 
+        free(pointer);
+    }
     return 0;
 }


        


More information about the lldb-commits mailing list