Building, Running and Testing HTCondor with the Address Sanitizer (asan) under Linux
I've only run this with a non-rootly personal condor
ALSO NOTE : asan does not work correctly with the ancient compilers and library packages included with Centos 7! It is known to work on Fedora 32 and on recent Ubuntu.
on your build container/server, install asan libraries if not already there; e.g. on Fedora, do
yum install -y libasan
cd to a checked out source directory
mkdir a new binary directory and cd there
mkdir asan cd asan
configure with -DWITH_ADDRESS_SANITIZER:bool=true, and any other needed cmake options, and make
rm ../CMakeCache.txt ../configure_uw -DWITH_ADDRESS_SANITIZER:bool=true .. make install
make a directory for asan to write files to, and start the condor master with ASAN_OPTIONS pointing to this directory:
mkdir /tmp/asan ASAN_OPTIONS="log_path=/tmp/asan/condor" condor_master
Run tests, submit jobs, and condor_off -master. One file per process will be in /tmp/asan.
If brave, run the whole test suite under asan: