Skip to content

ComputeTransferTest fails in lal-7.2.1 with segmentation fault

I am seeing a segmentation fault when building lal-7.2.1 in conda-forge:

/home/conda/feedstock_root/build_artifacts/lal-split_1661519406855/work/gnuscripts/test-driver: line 107: 27789 Segmentation fault      (core dumped) "$@" > $log_file 2>&1
FAIL: ComputeTransferTest

The test that is failing is here:

    LALComputeTransfer( &status, NULL );
    TESTSTATUSERR( &status, CALIBRATIONH_ENULL );

This causes a segmentation fault on this line:

  df = calrec->transfer->deltaF;

I believe this is because conda-forge compiles things using -DNDEBUG, which means that the assert statement here:

  ASSERT( calrec, stat, CALIBRATIONH_ENULL, CALIBRATIONH_MSGENULL );

is not in the compiled code, so there's nothing to protect against passing in calrec as NULL and attempting to use it as normal. This used to be protected by if ( ! lalNoDebug ) which was removed in 1f5b97fe (!1930 (merged)), perhaps that should have been replaced by #ifndef NDEBUG?

cc @karl-wette @jolien-creighton

Edited by Duncan Macleod