Skip to content

SBA DTX with bitrate switching use of uninitialized value

Confirmed on 08510066.

Steps to reproduce:

#!/bin/bash
git clone -b longer-testv-on-runners --single-branch https://forge.3gpp.org/rep/ivas-codec-pc/ivas-pc-testfiles.git
cd ivas-pc-testfiles
# we need to create a 32 kHz version
for f in $(ls ltv48*); do sox $f -r 32000 ${f/48/32}; done
cd -
cp ivas-pc-testfiles/* scripts/testv/ # needed for the 32 kHz ltv we just created
make -j CLANG=1 # or use normally compiled binaries with valgrind (see below)
./IVAS_cod -dtx -sba 3 scripts/switchPaths/sw_13k2_to_128k_10fr.bin 32 scripts/testv/ltv32_HOA3.wav hoa3.192
./IVAS_dec HOA3 32 hoa3.192 /dev/null
MSAN log
❯ ./IVAS_dec HOA3 32 hoa3.192 /dev/null

==================================================================================================
 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
==================================================================================================

Input bitstream file:   hoa3.192
Output synthesis file:  /dev/null

Output sampling rate:   32000 Hz
Bitrate:                13.20 kbps
Input configuration:    Scene Based Audio, Ambisonic order 3, 1 transport channel(s)
Output configuration:   Ambisonics: Third Order (HOA3)

------ Running the decoder ------

Frames processed:       5823    ==820450==WARNING: MemorySanitizer: use-of-uninitialized-value
    #0 0x657a41 in ivas_qmetadata_to_dirac /local/tmu/git/ivas-codec-clean/lib_dec/ivas_dirac_dec.c:1435:94
    #1 0x65114b in ivas_dirac_dec_read_BS /local/tmu/git/ivas-codec-clean/lib_dec/ivas_dirac_dec.c:1177:9
    #2 0x8bc9b4 in ivas_spar_dec /local/tmu/git/ivas-codec-clean/lib_dec/ivas_spar_decoder.c:336:9
    #3 0x62a593 in ivas_dec /local/tmu/git/ivas-codec-clean/lib_dec/ivas_dec.c:384:28
    #4 0x4c3d08 in IVAS_DEC_GetSamples /local/tmu/git/ivas-codec-clean/lib_dec/lib_dec.c:657:24
    #5 0x4b5f95 in decodeG192 /local/tmu/git/ivas-codec-clean/apps/decoder.c:2072:24
    #6 0x4a4e0f in main /local/tmu/git/ivas-codec-clean/apps/decoder.c:758:17
    #7 0x7ff1f2492d09 in __libc_start_main csu/../csu/libc-start.c:308:16
    #8 0x421549 in _start (/local/tmu/git/ivas-codec-clean/IVAS_dec+0x421549)

SUMMARY: MemorySanitizer: use-of-uninitialized-value /local/tmu/git/ivas-codec-clean/lib_dec/ivas_dirac_dec.c:1435:94 in ivas_qmetadata_to_dirac
Exiting

Vagrind command and log:

valgrind --leak-check=full --track-origins=yes --show-leak-kinds=all --verbose --log-file=hoa3.txt ./IVAS_dec HOA3 32 hoa3.192 /dev/null

hoa3_valgrind.txt

Edited by Archit Tamarapu