From cfa4a1af18dc9b64eb82a72c58fb6498dcd5e008 Mon Sep 17 00:00:00 2001 From: Vitaly Buka Date: Mon, 28 Apr 2025 14:50:06 -0700 Subject: [PATCH 1/2] =?UTF-8?q?[=F0=9D=98=80=F0=9D=97=BD=F0=9D=97=BF]=20in?= =?UTF-8?q?itial=20version?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Created using spr 1.3.4 --- compiler-rt/test/asan/TestCases/asan_lsan_deadlock.cpp | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/compiler-rt/test/asan/TestCases/asan_lsan_deadlock.cpp b/compiler-rt/test/asan/TestCases/asan_lsan_deadlock.cpp index 7ca07edbaf18c..7c2dbf27da3d4 100644 --- a/compiler-rt/test/asan/TestCases/asan_lsan_deadlock.cpp +++ b/compiler-rt/test/asan/TestCases/asan_lsan_deadlock.cpp @@ -36,11 +36,8 @@ void Watchdog() { // Safety mechanism: Turn infinite deadlock into finite test failure - usleep(10000000); - // CHECK-NOT: Timeout! Deadlock detected. - puts("Timeout! Deadlock detected."); - fflush(stdout); - _exit(1); + sleep(60); + _exit(0); } int main(int argc, char **argv) { From 6a30c211848b0f8f34208f6b0adf3f325f51d11d Mon Sep 17 00:00:00 2001 From: Vitaly Buka Date: Mon, 28 Apr 2025 14:54:15 -0700 Subject: [PATCH 2/2] rebase Created using spr 1.3.4 --- compiler-rt/test/asan/TestCases/asan_lsan_deadlock.cpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/compiler-rt/test/asan/TestCases/asan_lsan_deadlock.cpp b/compiler-rt/test/asan/TestCases/asan_lsan_deadlock.cpp index 7c2dbf27da3d4..b856b12325bf6 100644 --- a/compiler-rt/test/asan/TestCases/asan_lsan_deadlock.cpp +++ b/compiler-rt/test/asan/TestCases/asan_lsan_deadlock.cpp @@ -24,9 +24,8 @@ * [Worker Thread] ASan: lock B -> requests lock A * * Success Criteria: - * With proper lock ordering enforcement, watchdog should NOT trigger - test exits normally. - * If deadlock occurs, watchdog terminates via _exit(1) after 10s timeout. - */ + * With proper lock ordering enforcement, watchdog should NOT trigger - test exits with Asan report. + */ #include #include @@ -37,6 +36,7 @@ void Watchdog() { // Safety mechanism: Turn infinite deadlock into finite test failure sleep(60); + // Unexpected. "not" in RUN will fail if we reached here. _exit(0); }