Msan error in OSBA to STEREO decoding for bitrate >= 256
Basic info
- Commit SHA: b0e306de (latest main)
Bug description
Clang msan sanitizer test reports an error:
==16140==WARNING: MemorySanitizer: use-of-uninitialized-value
#0 0xfb716f in limiter_process /ivas-codec/lib_rend/ivas_limiter.c:265:18
#1 0xfb5f98 in ivas_limiter_dec /ivas-codec/lib_rend/ivas_limiter.c:207:5
#2 0x7c8bfe in ivas_jbm_dec_render /ivas-codec/lib_dec/ivas_jbm_dec.c:1511:13
#3 0x4ef8b1 in IVAS_DEC_GetRenderedSamples /ivas-codec/lib_dec/lib_dec.c:1555:13
#4 0x4e99b4 in IVAS_DEC_GetSamples /ivas-codec/lib_dec/lib_dec.c:1159:28
#5 0x4c925f in decodeG192 /ivas-codec/apps/decoder.c:2457:28
#6 0x4a8757 in main /ivas-codec/apps/decoder.c:833:17
#7 0x7ff855778d8f in __libc_start_call_main csu/../sysdeps/nptl/libc_start_call_main.h:58:16
#8 0x7ff855778e3f in __libc_start_main csu/../csu/libc-start.c:392:3
#9 0x421544 in _start (/ivas-codec/IVAS_dec+0x421544)
Uninitialized value was stored to memory at
#0 0xfb70d5 in limiter_process /ivas-codec/lib_rend/ivas_limiter.c:264:17
#1 0xfb5f98 in ivas_limiter_dec /ivas-codec/lib_rend/ivas_limiter.c:207:5
#2 0x7c8bfe in ivas_jbm_dec_render /ivas-codec/lib_dec/ivas_jbm_dec.c:1511:13
#3 0x4ef8b1 in IVAS_DEC_GetRenderedSamples /ivas-codec/lib_dec/lib_dec.c:1555:13
#4 0x4e99b4 in IVAS_DEC_GetSamples /ivas-codec/lib_dec/lib_dec.c:1159:28
#5 0x4c925f in decodeG192 /ivas-codec/apps/decoder.c:2457:28
#6 0x4a8757 in main /ivas-codec/apps/decoder.c:833:17
#7 0x7ff855778d8f in __libc_start_call_main csu/../sysdeps/nptl/libc_start_call_main.h:58:16
Uninitialized value was stored to memory at
#0 0x1f14e3b in v_add /ivas-codec/lib_com/tools.c:872:14
#1 0x7bec88 in ivas_jbm_dec_render /ivas-codec/lib_dec/ivas_jbm_dec.c:1206:21
#2 0x4ef8b1 in IVAS_DEC_GetRenderedSamples /ivas-codec/lib_dec/lib_dec.c:1555:13
#3 0x4e99b4 in IVAS_DEC_GetSamples /ivas-codec/lib_dec/lib_dec.c:1159:28
#4 0x4c925f in decodeG192 /ivas-codec/apps/decoder.c:2457:28
#5 0x4a8757 in main /ivas-codec/apps/decoder.c:833:17
#6 0x7ff855778d8f in __libc_start_call_main csu/../sysdeps/nptl/libc_start_call_main.h:58:16
Uninitialized value was stored to memory at
#0 0x1f0ac95 in mvr2r /ivas-codec/lib_com/tools.c:335:18
#1 0x7be32b in ivas_jbm_dec_render /ivas-codec/lib_dec/ivas_jbm_dec.c:1193:21
#2 0x4ef8b1 in IVAS_DEC_GetRenderedSamples /ivas-codec/lib_dec/lib_dec.c:1555:13
#3 0x4e99b4 in IVAS_DEC_GetSamples /ivas-codec/lib_dec/lib_dec.c:1159:28
#4 0x4c925f in decodeG192 /ivas-codec/apps/decoder.c:2457:28
#5 0x4a8757 in main /ivas-codec/apps/decoder.c:833:17
#6 0x7ff855778d8f in __libc_start_call_main csu/../sysdeps/nptl/libc_start_call_main.h:58:16
Uninitialized value was created by an allocation of 'output' in the stack frame of function 'ivas_jbm_dec_render'
#0 0x7b5f90 in ivas_jbm_dec_render /ivas-codec/lib_dec/ivas_jbm_dec.c:939
SUMMARY: MemorySanitizer: use-of-uninitialized-value /ivas-codec/lib_rend/ivas_limiter.c:265:18 in limiter_process
Ways to reproduce
Using the scripts:
python3 scripts/IvasBuildAndRunChecks.py --checks CLANG1 -m OSBA_ISM1_FOA_b256_fb_cbr -p /path/to/my/local/ci_linux_ltv_local.json
or directly:
make clean
make -j CLANG=1
IVAS_cod -ism_sba 1 1 NULL -max_band fb 256000 48 ivas-pc-testfiles/ltv48_OSBA_1ISM_FOA.wav bit
./IVAS_dec stereo 48 bit out.wav