Skip to content

ASAN: ACELP errors with 2 ISM coding using LTV

Basic info

  • Commit SHA: main
  • Platform: any (need linux for sanitizer)

Bug description

With two different cases in main, 2 ISM encoding provides ACELP errors at least when the encoding is run with clang sanitized binary. The resulting errors are of following type:

Internal fatal error: Error: Too low bitrate (12650 bps) for ACELP@16k in frame 6810. Exiting!

or

Internal fatal error: Error: Too low bitrate (12600 bps) for ACELP@16k in frame 6810. Exiting!

Ways to reproduce

This should be possible to reproduce at least with the following on 64-bit Linux:

cmake . -Bbuild-asan -DCMAKE_C_COMPILER=clang -DCLANG=asan
cmake --build build-asan -- -j40
cd build-asan
IVAS_cod -ISM 2 scripts/testv/ltvISM1.csv scripts/testv/ltvISM2.csv 64000 48 scripts/testv/ltv48_2ISM.wav out.bts

or alternatively replace encoder command line with

IVAS_cod -ISM 2 scripts/testv/ltvISM3.csv scripts/testv/ltvISM4.csv 64000 48 scripts/testv/ltv48_2ISM.wav out.bts

The required test vectors are available in the test files repository in branch longer-testv-on-runners