Skip to content

MemorySanitizer: use-of-uninitialized-value in ISM2 rate switching with frame errors

Basic info

Bug description

Clang msan sanitizer test in pipeline found an error:

==524290==WARNING: MemorySanitizer: use-of-uninitialized-value
    #0 0x118903a in calc_tilt_bwe /local/knj/ivas-codec/lib_com/swb_bwe_com.c:305:14
    #1 0xa56e28 in swb_tbe_dec /local/knj/ivas-codec/lib_dec/swb_tbe_dec.c:532:5
    #2 0xd4d20e in ivas_core_dec /local/knj/ivas-codec/lib_dec/ivas_core_dec.c:510:13
    #3 0x89657d in ivas_sce_dec /local/knj/ivas-codec/lib_dec/ivas_sce_dec.c:241:20
    #4 0x61baf2 in ivas_dec /local/knj/ivas-codec/lib_dec/ivas_dec.c:186:28
    #5 0x4c1b8e in IVAS_DEC_GetSamples /local/knj/ivas-codec/lib_dec/lib_dec.c:864:24
    #6 0x4b4371 in decodeG192 /local/knj/ivas-codec/apps/decoder.c:1780:24
    #7 0x49cabd in main /local/knj/ivas-codec/apps/decoder.c:684:17
    #8 0x7efc11dbfd09 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x23d09)
    #9 0x41f5a9 in _start (/local/knj/ivas-codec/CLANG1/IVAS_dec+0x41f5a9)

SUMMARY: MemorySanitizer: use-of-uninitialized-value /local/knj/ivas-codec/lib_com/swb_bwe_com.c:305:14 in calc_tilt_bwe
Exiting
Input bitstream file:   /local/knj/ivas-codec/CLANG1/enc/ltv48_2ISM_ISM2_ball_swb_rs_fer_ep_015_g192_1.192
Output synthesis file:  /local/knj/ivas-codec/CLANG1/dec/ltv48_2ISM_ISM2_ball_swb_rs_fer_ep_015_g192_1.dec.MONO.wav

Output sampling rate:   32000 Hz
Bitrate:                24.40 kbps
Input configuration:    ISM: 2 transport channel(s)
Output configuration:   Mono

Link to test pipeline: https://forge.3gpp.org/rep/ivas-codec-pc/ivas-codec/-/jobs/96004

Ways to reproduce

You need this error pattern ep_015.g192 and the ltv metadata files from the testfiles repo.

Using the scripts:

python3 scripts/IvasBuildAndRunChecks.py --checks CLANG1 -m ISM2_ball_swb_rs --oc mono -p /path/to/my/local/ci_linux_ltv_local.json --metadata_files ivas-pc-testfiles/ltvISM1.csv ivas-pc-testfiles/ltvISM2.csv

or directly:

make clean
make -j CLANG=1
./IVAS_cod -ism 2 ivas-pc-testfiles/ltvISM1.csv ivas-pc-testfiles/ltvISM2.csv -max_band swb scripts/switchPaths/sw_16k4_256k.bin 32 ltv48_2ISM_32kHz.wav bit
eid-xor -vbr -fer bit ep_015.g192 bit_fer
./IVAS_dec MONO 32 bit out.wav