diff --git a/kotlin-native/runtime/src/gc/cms/cpp/ConcurrentMarkAndSweepTest.cpp b/kotlin-native/runtime/src/gc/cms/cpp/ConcurrentMarkAndSweepTest.cpp index 03d7a2a5072..312ac4a7fa4 100644 --- a/kotlin-native/runtime/src/gc/cms/cpp/ConcurrentMarkAndSweepTest.cpp +++ b/kotlin-native/runtime/src/gc/cms/cpp/ConcurrentMarkAndSweepTest.cpp @@ -1146,9 +1146,6 @@ TEST_P(ConcurrentMarkAndSweepTest, NewThreadsWhileRequestingCollection) { } TEST_P(ConcurrentMarkAndSweepTest, FreeObjectWithFreeWeakReversedOrder) { -#if __has_feature(thread_sanitizer) - GTEST_SKIP() << "Broken with TSAN"; -#endif std_support::vector mutators(2); std::atomic*> object1 = nullptr; std::atomic weak = nullptr; @@ -1194,12 +1191,14 @@ INSTANTIATE_TEST_SUITE_P(, ConcurrentMarkAndSweepTest, testing::Values( ParallelismOptions{kDefaultThreadCount * 3, false, 0}, - ParallelismOptions{kDefaultThreadCount * 3, true, 0}, - ParallelismOptions{kDefaultThreadCount * 3, false, kDefaultThreadCount}, + ParallelismOptions{kDefaultThreadCount * 3, true, 0} +#if !__has_feature(thread_sanitizer) // TODO: Fix auxilary threads with tsan. + , ParallelismOptions{kDefaultThreadCount * 3, false, kDefaultThreadCount}, ParallelismOptions{kDefaultThreadCount * 3, true, kDefaultThreadCount}, ParallelismOptions{kDefaultThreadCount / 2, true, kDefaultThreadCount}, ParallelismOptions{kDefaultThreadCount / 2 * 3, true, kDefaultThreadCount} +#endif ), [] (const testing::TestParamInfo& paramInfo) { using namespace std::string_literals;