Open maddyscientist opened 4 years ago
I should add, to enable compilation with address sanitizer (ASAN) and undefined behaviour sanitizer (UBSAN), the changes to the Makefile are trivial (supported on both clang and modern gcc)
CDEBUG += -fsanitize=address,undefined
LDFLAGS += -fsanitize=address,undefined
When MILC is compiled with address sanitizer enabled, multiple run-time errors are found when running the NERSC small RHMD benchmark on 3 processes.
The first issue is found in ranstuff.c, and looks like it is simply a case that
seed
is being given a number that exceeds that of what is representable in a 32-bit integer.The second issue is in io_lat4.c, and appears to be a similar 32-bit overflow issue.