[Lldb-commits] [PATCH] D114444: [lldb] Deflake TestTsanBasic.py

Dmitry Vyukov via Phabricator via lldb-commits lldb-commits at lists.llvm.org
Tue Nov 23 08:02:52 PST 2021


dvyukov created this revision.
dvyukov added reviewers: vitalybuka, melver.
dvyukov requested review of this revision.
Herald added a project: LLDB.
Herald added a subscriber: lldb-commits.

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.


Repository:
  rG LLVM Github Monorepo

https://reviews.llvm.org/D114444

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


Index: lldb/test/API/functionalities/tsan/basic/main.c
===================================================================
--- lldb/test/API/functionalities/tsan/basic/main.c
+++ lldb/test/API/functionalities/tsan/basic/main.c
@@ -16,14 +16,17 @@
 
 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;
 }


-------------- next part --------------
A non-text attachment was scrubbed...
Name: D114444.389213.patch
Type: text/x-patch
Size: 839 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/lldb-commits/attachments/20211123/928bcac8/attachment.bin>


More information about the lldb-commits mailing list