Skip to content

Msan error in decoder for 7.1.4 rate switching

Basic info

Bug description

Clang msan sanitizer test in pipeline found an error:

==2506375==WARNING: MemorySanitizer: use-of-uninitialized-value
    #0 0x17d08ae in hp20 /local/knj/ivas-codec/lib_com/hp50.c:127:14
    #1 0x6f62f0 in ivas_dec /local/knj/ivas-codec/lib_dec/ivas_dec.c:488:17
    #2 0x4c8feb in IVAS_DEC_GetSamples /local/knj/ivas-codec/lib_dec/lib_dec.c:717:24
    #3 0x4b0dfd in decodeG192 /local/knj/ivas-codec/apps/decoder.c:1466:24
    #4 0x49dd28 in main /local/knj/ivas-codec/apps/decoder.c:533:17
    #5 0x7f0e6b45ed09 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 0x1705361 in fft_len30 /local/knj/ivas-codec/lib_com/fft.c:4748:9
    #1 0x1670b09 in fft_lenN /local/knj/ivas-codec/lib_com/fft.c:5770:17
    #2 0x165e1f4 in fft /local/knj/ivas-codec/lib_com/fft.c:6292:13
    #3 0x15921b0 in edct /local/knj/ivas-codec/lib_com/edct.c:148:9
    #4 0x1163659 in IMDCT /local/knj/ivas-codec/lib_dec/dec_tcx.c:503:17
    #5 0x114f57b in decoder_tcx_imdct /local/knj/ivas-codec/lib_dec/dec_tcx.c:1712:9
    #6 0x961395 in ivas_mdct_core_reconstruct /local/knj/ivas-codec/lib_dec/ivas_mdct_core_dec.c:822:21
    #7 0x9297d5 in ivas_mct_dec /local/knj/ivas-codec/lib_dec/ivas_mct_dec.c:229:9
    #8 0x6f5e0c in ivas_dec /local/knj/ivas-codec/lib_dec/ivas_dec.c:479:32
    #9 0x4c8feb in IVAS_DEC_GetSamples /local/knj/ivas-codec/lib_dec/lib_dec.c:717:24
    #10 0x4b0dfd in decodeG192 /local/knj/ivas-codec/apps/decoder.c:1466:24
    #11 0x49dd28 in main /local/knj/ivas-codec/apps/decoder.c:533:17
    #12 0x7f0e6b45ed09 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x23d09)

  Uninitialized value was stored to memory at
    #0 0x166fb4d in fft_lenN /local/knj/ivas-codec/lib_com/fft.c:5719:41
    #1 0x165e1f4 in fft /local/knj/ivas-codec/lib_com/fft.c:6292:13
    #2 0x15921b0 in edct /local/knj/ivas-codec/lib_com/edct.c:148:9
    #3 0x1163659 in IMDCT /local/knj/ivas-codec/lib_dec/dec_tcx.c:503:17
    #4 0x114f57b in decoder_tcx_imdct /local/knj/ivas-codec/lib_dec/dec_tcx.c:1712:9
    #5 0x961395 in ivas_mdct_core_reconstruct /local/knj/ivas-codec/lib_dec/ivas_mdct_core_dec.c:822:21
    #6 0x9297d5 in ivas_mct_dec /local/knj/ivas-codec/lib_dec/ivas_mct_dec.c:229:9
    #7 0x6f5e0c in ivas_dec /local/knj/ivas-codec/lib_dec/ivas_dec.c:479:32
    #8 0x4c8feb in IVAS_DEC_GetSamples /local/knj/ivas-codec/lib_dec/lib_dec.c:717:24
    #9 0x4b0dfd in decodeG192 /local/knj/ivas-codec/apps/decoder.c:1466:24
    #10 0x49dd28 in main /local/knj/ivas-codec/apps/decoder.c:533:17
    #11 0x7f0e6b45ed09 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x23d09)

  Uninitialized value was stored to memory at
    #0 0x1591f69 in edct /local/knj/ivas-codec/lib_com/edct.c:139:15
    #1 0x1163659 in IMDCT /local/knj/ivas-codec/lib_dec/dec_tcx.c:503:17
    #2 0x114f57b in decoder_tcx_imdct /local/knj/ivas-codec/lib_dec/dec_tcx.c:1712:9
    #3 0x961395 in ivas_mdct_core_reconstruct /local/knj/ivas-codec/lib_dec/ivas_mdct_core_dec.c:822:21
    #4 0x9297d5 in ivas_mct_dec /local/knj/ivas-codec/lib_dec/ivas_mct_dec.c:229:9
    #5 0x6f5e0c in ivas_dec /local/knj/ivas-codec/lib_dec/ivas_dec.c:479:32
    #6 0x4c8feb in IVAS_DEC_GetSamples /local/knj/ivas-codec/lib_dec/lib_dec.c:717:24
    #7 0x4b0dfd in decodeG192 /local/knj/ivas-codec/apps/decoder.c:1466:24
    #8 0x49dd28 in main /local/knj/ivas-codec/apps/decoder.c:533:17
    #9 0x7f0e6b45ed09 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x23d09)

  Uninitialized value was stored to memory at
    #0 0x1ca11e8 in mvr2r /local/knj/ivas-codec/lib_com/tools.c:328:18
    #1 0x114a149 in decoder_tcx_imdct /local/knj/ivas-codec/lib_dec/dec_tcx.c:1672:9
    #2 0x961395 in ivas_mdct_core_reconstruct /local/knj/ivas-codec/lib_dec/ivas_mdct_core_dec.c:822:21
    #3 0x9297d5 in ivas_mct_dec /local/knj/ivas-codec/lib_dec/ivas_mct_dec.c:229:9
    #4 0x6f5e0c in ivas_dec /local/knj/ivas-codec/lib_dec/ivas_dec.c:479:32
    #5 0x4c8feb in IVAS_DEC_GetSamples /local/knj/ivas-codec/lib_dec/lib_dec.c:717:24
    #6 0x4b0dfd in decodeG192 /local/knj/ivas-codec/apps/decoder.c:1466:24
    #7 0x49dd28 in main /local/knj/ivas-codec/apps/decoder.c:533:17
    #8 0x7f0e6b45ed09 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x23d09)

  Uninitialized value was stored to memory at
    #0 0x1cad664 in v_multc /local/knj/ivas-codec/lib_com/tools.c:941:14
    #1 0x96b86e in ivas_mdct_core_tns_ns /local/knj/ivas-codec/lib_dec/ivas_mdct_core_dec.c:1067:13
    #2 0x92837e in ivas_mct_dec /local/knj/ivas-codec/lib_dec/ivas_mct_dec.c:194:9
    #3 0x6f5e0c in ivas_dec /local/knj/ivas-codec/lib_dec/ivas_dec.c:479:32
    #4 0x4c8feb in IVAS_DEC_GetSamples /local/knj/ivas-codec/lib_dec/lib_dec.c:717:24
    #5 0x4b0dfd in decodeG192 /local/knj/ivas-codec/apps/decoder.c:1466:24
    #6 0x49dd28 in main /local/knj/ivas-codec/apps/decoder.c:533:17
    #7 0x7f0e6b45ed09 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x23d09)

  Uninitialized value was stored to memory at
    #0 0x1cad2dd in v_multc /local/knj/ivas-codec/lib_com/tools.c:936
    #1 0x96b86e in ivas_mdct_core_tns_ns /local/knj/ivas-codec/lib_dec/ivas_mdct_core_dec.c:1067:13
    #2 0x92837e in ivas_mct_dec /local/knj/ivas-codec/lib_dec/ivas_mct_dec.c:194:9
    #3 0x6f5e0c in ivas_dec /local/knj/ivas-codec/lib_dec/ivas_dec.c:479:32
    #4 0x4c8feb in IVAS_DEC_GetSamples /local/knj/ivas-codec/lib_dec/lib_dec.c:717:24
    #5 0x4b0dfd in decodeG192 /local/knj/ivas-codec/apps/decoder.c:1466:24
    #6 0x49dd28 in main /local/knj/ivas-codec/apps/decoder.c:533:17
    #7 0x7f0e6b45ed09 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 0x966210 in ivas_mdct_core_tns_ns /local/knj/ivas-codec/lib_dec/ivas_mdct_core_dec.c:979

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

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

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 7_1_4 48 bit_fer out.wav