[Chapel Merge] Disable remote cache if address sanitizer is enabl

Branch: refs/heads/master
Revision: a4b78f9
Author: ronawho
Log Message:

Merge pull request #16999 from ronawho/disable-cache-asan

Disable remote cache if address sanitizer is enabled

[reviewed by @mppf]

The cache reads whole cache lines at a time, even if only part of the
line is allocated. This is an intentional design choice, but it is
technically reading unallocated memory, which is one of the things ASan
catches. For now just disable the cache if asan is enabled. See
https://github.com/Cray/chapel-private/issues/933 for more info.

This also adds warnings if the cache was requested but can’t be used.
This includes warning for Asan and if tasks can migrate threads, which
isn’t support because the cache relies on thread local storage.

These warnings can be quieted by compiling with --no-cache-remote,
executing with --quiet (which is a big hammer), or by setting
CHPL_RT_CACHE_QUIET=true. Use CHPL_RT_CACHE_QUIET=true in our gasnet
ASan and numa configurations in prep for cache remote being enabled by

Modified Files:
M runtime/include/chpl-cache.h
M runtime/src/chpl-cache.c
M util/cron/test-gasnet-asan.bash
M util/cron/test-gasnet.numa.bash

Compare: Comparing 15c16d7f0bc7...a4b78f914577 · chapel-lang/chapel · GitHub