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; }
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; }
_______________________________________________ lldb-commits mailing list lldb-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits