Building, Running and Testing HTCondor with the Address Sanitizer (asan) under Linux
NOTE
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
cd condor
- 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:
ASAN_OPTIONS="log_path=/tmp/asan/condor" ctest