This is a well known (long standing) issue. Documented in the code base in commit eea02be70ee37b845f2719b3c08e5baf4b6f51f6.

Countless intermittent sanitizer warnings can be attributed to it.
{
    if (pBlockIndex != nullptr) {
        {
            LOCK(g_genesis_wait_mutex);
            fHaveGenesis = true;
        }
        g_genesis_wait_cv.notify_all();
    }
}
struct CImportingNow
{
    CImportingNow() {
        assert(fImporting == false);
        fImporting = true;
    }
    ~CImportingNow() {
        assert(fImporting == true);
        fImporting = false;
    }
};
static void CleanupBlockRevFiles()
{
    std::map<std::string, fs::path> mapBlockFiles;