Skip to content

Msan error in MC bitrate switching with PLC

Basic info

Bug description

Clang msan sanitizer test in pipeline found an error:

==================================================================================================
 IVAS Codec Baseline

 Based on EVS Codec (Floating Point) 3GPP TS26.443 Nov 04, 2021,
 Version 12.14.0 / 13.10.0 / 14.6.0 / 15.4.0 / 16.3.0
==================================================================================================

==377549==WARNING: MemorySanitizer: use-of-uninitialized-value
    #0 0x17a686e in hp20 /local/knj/ivas-codec/lib_com/hp50.c:128:14
    #1 0x6f4c6d in ivas_dec /local/knj/ivas-codec/lib_dec/ivas_dec.c:495:17
    #2 0x4c859b in IVAS_DEC_GetSamples /local/knj/ivas-codec/lib_dec/lib_dec.c:702:24
    #3 0x4b07e6 in decodeG192 /local/knj/ivas-codec/apps/decoder.c:1388:24
    #4 0x49d7f0 in main /local/knj/ivas-codec/apps/decoder.c:491:17
    #5 0x7f7554547d09 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x23d09)
    #6 0x41f5a9 in _start (/local/knj/ivas-codec/CLANG1/IVAS_dec+0x41f5a9)

  Uninitialized value was stored to memory at
    #0 0x16385c2 in fft_len20 /local/knj/ivas-codec/lib_com/fft.c:4228:8
    #1 0x16468b7 in fft_lenN /local/knj/ivas-codec/lib_com/fft.c:5763:17
    #2 0x1633c2a in fft /local/knj/ivas-codec/lib_com/fft.c:6274:13
    #3 0x15681f0 in edct /local/knj/ivas-codec/lib_com/edct.c:148:9
    #4 0x113fbc9 in IMDCT /local/knj/ivas-codec/lib_dec/dec_tcx.c:503:17
    #5 0x112baeb in decoder_tcx_imdct /local/knj/ivas-codec/lib_dec/dec_tcx.c:1712:9
    #6 0x947695 in ivas_mdct_core_reconstruct /local/knj/ivas-codec/lib_dec/ivas_mdct_core_dec.c:823:21
    #7 0x90fd98 in ivas_mct_dec /local/knj/ivas-codec/lib_dec/ivas_mct_dec.c:230:9
    #8 0x6f4789 in ivas_dec /local/knj/ivas-codec/lib_dec/ivas_dec.c:486:32
    #9 0x4c859b in IVAS_DEC_GetSamples /local/knj/ivas-codec/lib_dec/lib_dec.c:702:24
    #10 0x4b07e6 in decodeG192 /local/knj/ivas-codec/apps/decoder.c:1388:24
    #11 0x49d7f0 in main /local/knj/ivas-codec/apps/decoder.c:491:17
    #12 0x7f7554547d09 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x23d09)

  Uninitialized value was stored to memory at
    #0 0x1645822 in fft_lenN /local/knj/ivas-codec/lib_com/fft.c:5718:37
    #1 0x1633c2a in fft /local/knj/ivas-codec/lib_com/fft.c:6274:13
    #2 0x15681f0 in edct /local/knj/ivas-codec/lib_com/edct.c:148:9
    #3 0x113fbc9 in IMDCT /local/knj/ivas-codec/lib_dec/dec_tcx.c:503:17
    #4 0x112baeb in decoder_tcx_imdct /local/knj/ivas-codec/lib_dec/dec_tcx.c:1712:9
    #5 0x947695 in ivas_mdct_core_reconstruct /local/knj/ivas-codec/lib_dec/ivas_mdct_core_dec.c:823:21
    #6 0x90fd98 in ivas_mct_dec /local/knj/ivas-codec/lib_dec/ivas_mct_dec.c:230:9
    #7 0x6f4789 in ivas_dec /local/knj/ivas-codec/lib_dec/ivas_dec.c:486:32
    #8 0x4c859b in IVAS_DEC_GetSamples /local/knj/ivas-codec/lib_dec/lib_dec.c:702:24
    #9 0x4b07e6 in decodeG192 /local/knj/ivas-codec/apps/decoder.c:1388:24
    #10 0x49d7f0 in main /local/knj/ivas-codec/apps/decoder.c:491:17
    #11 0x7f7554547d09 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x23d09)

  Uninitialized value was stored to memory at
    #0 0x1567a9f in edct /local/knj/ivas-codec/lib_com/edct.c:138:15
    #1 0x113fbc9 in IMDCT /local/knj/ivas-codec/lib_dec/dec_tcx.c:503:17
    #2 0x112baeb in decoder_tcx_imdct /local/knj/ivas-codec/lib_dec/dec_tcx.c:1712:9
    #3 0x947695 in ivas_mdct_core_reconstruct /local/knj/ivas-codec/lib_dec/ivas_mdct_core_dec.c:823:21
    #4 0x90fd98 in ivas_mct_dec /local/knj/ivas-codec/lib_dec/ivas_mct_dec.c:230:9
    #5 0x6f4789 in ivas_dec /local/knj/ivas-codec/lib_dec/ivas_dec.c:486:32
    #6 0x4c859b in IVAS_DEC_GetSamples /local/knj/ivas-codec/lib_dec/lib_dec.c:702:24
    #7 0x4b07e6 in decodeG192 /local/knj/ivas-codec/apps/decoder.c:1388:24
    #8 0x49d7f0 in main /local/knj/ivas-codec/apps/decoder.c:491:17
    #9 0x7f7554547d09 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x23d09)

  Uninitialized value was stored to memory at
    #0 0x1c76c78 in mvr2r /local/knj/ivas-codec/lib_com/tools.c:328:18
    #1 0x11266b9 in decoder_tcx_imdct /local/knj/ivas-codec/lib_dec/dec_tcx.c:1672:9
    #2 0x947695 in ivas_mdct_core_reconstruct /local/knj/ivas-codec/lib_dec/ivas_mdct_core_dec.c:823:21
    #3 0x90fd98 in ivas_mct_dec /local/knj/ivas-codec/lib_dec/ivas_mct_dec.c:230:9
    #4 0x6f4789 in ivas_dec /local/knj/ivas-codec/lib_dec/ivas_dec.c:486:32
    #5 0x4c859b in IVAS_DEC_GetSamples /local/knj/ivas-codec/lib_dec/lib_dec.c:702:24
    #6 0x4b07e6 in decodeG192 /local/knj/ivas-codec/apps/decoder.c:1388:24
    #7 0x49d7f0 in main /local/knj/ivas-codec/apps/decoder.c:491:17
    #8 0x7f7554547d09 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x23d09)

  Uninitialized value was stored to memory at
    #0 0x9819a2 in ivas_ls_setup_conversion_process_mdct_param_mc /local/knj/ivas-codec/lib_dec/ivas_out_setup_conversion.c:1028:47
    #1 0x90f53c in ivas_mct_dec /local/knj/ivas-codec/lib_dec/ivas_mct_dec.c:216:9
    #2 0x6f4789 in ivas_dec /local/knj/ivas-codec/lib_dec/ivas_dec.c:486:32
    #3 0x4c859b in IVAS_DEC_GetSamples /local/knj/ivas-codec/lib_dec/lib_dec.c:702:24
    #4 0x4b07e6 in decodeG192 /local/knj/ivas-codec/apps/decoder.c:1388:24
    #5 0x49d7f0 in main /local/knj/ivas-codec/apps/decoder.c:491:17
    #6 0x7f7554547d09 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x23d09)

  Uninitialized value was stored to memory at
    #0 0x1944291 in sns_shape_spectrum /local/knj/ivas-codec/lib_com/ivas_sns_com.c:300:29
    #1 0x9513ba in ivas_mdct_core_tns_ns /local/knj/ivas-codec/lib_dec/ivas_mdct_core_dec.c:1069:13
    #2 0x90e941 in ivas_mct_dec /local/knj/ivas-codec/lib_dec/ivas_mct_dec.c:195:9
    #3 0x6f4789 in ivas_dec /local/knj/ivas-codec/lib_dec/ivas_dec.c:486:32
    #4 0x4c859b in IVAS_DEC_GetSamples /local/knj/ivas-codec/lib_dec/lib_dec.c:702:24
    #5 0x4b07e6 in decodeG192 /local/knj/ivas-codec/apps/decoder.c:1388:24
    #6 0x49d7f0 in main /local/knj/ivas-codec/apps/decoder.c:491:17
    #7 0x7f7554547d09 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x23d09)

  Uninitialized value was created by an allocation of 'sns_int_scf' in the stack frame of function 'ivas_mdct_core_tns_ns'
    #0 0x94c510 in ivas_mdct_core_tns_ns /local/knj/ivas-codec/lib_dec/ivas_mdct_core_dec.c:981

SUMMARY: MemorySanitizer: use-of-uninitialized-value /local/knj/ivas-codec/lib_com/hp50.c:128:14 in hp20
Exiting

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

Ways to reproduce

ep_015.g192

Using the scripts:

python3 scripts/IvasBuildAndRunChecks.py --checks CLANG1 -m MC_7_1_4_ball_fb_rs -p /path/to/my/local/ci_linux_ltv_local.json -f ep_015.g192

or directly:

make clean
make -j CLANG=1
./IVAS_cod -mc 7_1_4 -max_band fb scripts/switchPaths/sw_13k2_512k.bin 48 ltv48_MC714.wav bit
eid-xor -vbr -fer bit ep_015.g192 bit_fer
./IVAS_dec stereo 48 bit_fer out.wav