Index: lib/sanitizer_common/sanitizer_coverage_libcdep.cc =================================================================== --- lib/sanitizer_common/sanitizer_coverage_libcdep.cc +++ lib/sanitizer_common/sanitizer_coverage_libcdep.cc @@ -150,7 +150,8 @@ } void CoverageData::Init() { - CHECK_EQ(pc_array, nullptr); + if (pc_array) + return; pc_array = reinterpret_cast( MmapNoReserveOrDie(sizeof(uptr) * kPcArrayMaxSize, "CovInit")); pc_fd = kInvalidFd; @@ -177,6 +178,8 @@ } void CoverageData::InitializeGuardArray(s32 *guards) { + if (!pc_array) + Init(); s32 n = guards[0]; for (s32 j = 1; j <= n; j++) { uptr idx = atomic_fetch_add(&pc_array_index, 1, memory_order_relaxed);