ASAN: Memory leak in LTV sanitizer test for BINAURAL output modes
Basic info
- Decoder (fixed): a51ce5c2
Bug description
LTV sanitizer test job found a memory leak in BINAURAL* output testcases.
There are two types of errors.
First one - BINAURAL and BINAURAL_ROOM_IR output:
=================================================================
==20259==ERROR: LeakSanitizer: detected memory leaks
Direct leak of 1028 byte(s) in 1 object(s) allocated from:
#0 0x49c29d in __interceptor_malloc (/builds/rep/sa4/audio/ivas-basop/IVAS_dec+0x49c29d)
#1 0x151fc56 in load_reverb_from_binary /builds/rep/sa4/audio/ivas-basop/lib_util/hrtf_file_reader.c:630:60
#2 0x151f5d9 in load_reverb_binary /builds/rep/sa4/audio/ivas-basop/lib_util/hrtf_file_reader.c:673:12
#3 0x4d3260 in main /builds/rep/sa4/audio/ivas-basop/apps/decoder.c:651:24
#4 0x7f1ce10afd8f in __libc_start_call_main csu/../sysdeps/nptl/libc_start_call_main.h:58:16
Direct leak of 1028 byte(s) in 1 object(s) allocated from:
#0 0x49c29d in __interceptor_malloc (/builds/rep/sa4/audio/ivas-basop/IVAS_dec+0x49c29d)
#1 0x151fcae in load_reverb_from_binary /builds/rep/sa4/audio/ivas-basop/lib_util/hrtf_file_reader.c:631:65
#2 0x151f5d9 in load_reverb_binary /builds/rep/sa4/audio/ivas-basop/lib_util/hrtf_file_reader.c:673:12
#3 0x4d3260 in main /builds/rep/sa4/audio/ivas-basop/apps/decoder.c:651:24
#4 0x7f1ce10afd8f in __libc_start_call_main csu/../sysdeps/nptl/libc_start_call_main.h:58:16
Direct leak of 1028 byte(s) in 1 object(s) allocated from:
#0 0x49c29d in __interceptor_malloc (/builds/rep/sa4/audio/ivas-basop/IVAS_dec+0x49c29d)
#1 0x151fbfe in load_reverb_from_binary /builds/rep/sa4/audio/ivas-basop/lib_util/hrtf_file_reader.c:629:60
#2 0x151f5d9 in load_reverb_binary /builds/rep/sa4/audio/ivas-basop/lib_util/hrtf_file_reader.c:673:12
#3 0x4d3260 in main /builds/rep/sa4/audio/ivas-basop/apps/decoder.c:651:24
#4 0x7f1ce10afd8f in __libc_start_call_main csu/../sysdeps/nptl/libc_start_call_main.h:58:16
SUMMARY: AddressSanitizer: 3084 byte(s) leaked in 3 allocation(s).
Second one - BINAURAL_ROOM_REVERB output
Direct leak of 1028 byte(s) in 1 object(s) allocated from:
#0 0x49c29d in __interceptor_malloc (/builds/rep/sa4/audio/ivas-basop/IVAS_dec+0x49c29d)
#1 0xbcb1f1 in ivas_HRTF_statistics_init /builds/rep/sa4/audio/ivas-basop/lib_rend/ivas_hrtf_fx.c:293:63
#2 0x72a999 in ivas_init_decoder_fx /builds/rep/sa4/audio/ivas-basop/lib_dec/ivas_init_dec_fx.c:1674:9
#3 0x727803 in ivas_dec_setup /builds/rep/sa4/audio/ivas-basop/lib_dec/ivas_init_dec_fx.c:1016:9
#4 0x4f6b3e in IVAS_DEC_Setup /builds/rep/sa4/audio/ivas-basop/lib_dec/lib_dec_fx.c:1644:13
#5 0x4f409a in IVAS_DEC_GetSamples /builds/rep/sa4/audio/ivas-basop/lib_dec/lib_dec_fx.c:1163:13
#6 0x4e3d08 in decodeG192 /builds/rep/sa4/audio/ivas-basop/apps/decoder.c:2134:32
#7 0x4d3987 in main /builds/rep/sa4/audio/ivas-basop/apps/decoder.c:688:17
#8 0x7f8a4249cd8f in __libc_start_call_main csu/../sysdeps/nptl/libc_start_call_main.h:58:16
Direct leak of 1028 byte(s) in 1 object(s) allocated from:
#0 0x49c29d in __interceptor_malloc (/builds/rep/sa4/audio/ivas-basop/IVAS_dec+0x49c29d)
#1 0xbcb27d in ivas_HRTF_statistics_init /builds/rep/sa4/audio/ivas-basop/lib_rend/ivas_hrtf_fx.c:298:68
#2 0x72a999 in ivas_init_decoder_fx /builds/rep/sa4/audio/ivas-basop/lib_dec/ivas_init_dec_fx.c:1674:9
#3 0x727803 in ivas_dec_setup /builds/rep/sa4/audio/ivas-basop/lib_dec/ivas_init_dec_fx.c:1016:9
#4 0x4f6b3e in IVAS_DEC_Setup /builds/rep/sa4/audio/ivas-basop/lib_dec/lib_dec_fx.c:1644:13
#5 0x4f409a in IVAS_DEC_GetSamples /builds/rep/sa4/audio/ivas-basop/lib_dec/lib_dec_fx.c:1163:13
#6 0x4e3d08 in decodeG192 /builds/rep/sa4/audio/ivas-basop/apps/decoder.c:2134:32
#7 0x4d3987 in main /builds/rep/sa4/audio/ivas-basop/apps/decoder.c:688:17
#8 0x7f8a4249cd8f in __libc_start_call_main csu/../sysdeps/nptl/libc_start_call_main.h:58:16
Direct leak of 1028 byte(s) in 1 object(s) allocated from:
#0 0x49c29d in __interceptor_malloc (/builds/rep/sa4/audio/ivas-basop/IVAS_dec+0x49c29d)
#1 0xbcb165 in ivas_HRTF_statistics_init /builds/rep/sa4/audio/ivas-basop/lib_rend/ivas_hrtf_fx.c:288:63
#2 0x72a999 in ivas_init_decoder_fx /builds/rep/sa4/audio/ivas-basop/lib_dec/ivas_init_dec_fx.c:1674:9
#3 0x727803 in ivas_dec_setup /builds/rep/sa4/audio/ivas-basop/lib_dec/ivas_init_dec_fx.c:1016:9
#4 0x4f6b3e in IVAS_DEC_Setup /builds/rep/sa4/audio/ivas-basop/lib_dec/lib_dec_fx.c:1644:13
#5 0x4f409a in IVAS_DEC_GetSamples /builds/rep/sa4/audio/ivas-basop/lib_dec/lib_dec_fx.c:1163:13
#6 0x4e3d08 in decodeG192 /builds/rep/sa4/audio/ivas-basop/apps/decoder.c:2134:32
#7 0x4d3987 in main /builds/rep/sa4/audio/ivas-basop/apps/decoder.c:688:17
#8 0x7f8a4249cd8f in __libc_start_call_main csu/../sysdeps/nptl/libc_start_call_main.h:58:16
SUMMARY: AddressSanitizer: 3084 byte(s) leaked in 3 allocation(s).
Ways to reproduce
First one:
IVAS_cod -ism 2 ltvISM1.csv ltvISM2.csv 128000 48 ltv48_2ISM.wav bit1
IVAS_dec -fr 20 -t scripts/testv/headrot_case01_3000_q.csv -exof scripts/testv/headrot_case00_3000_q_combinedRotationTest.csv -hrtf scripts/binauralRenderer_interface/binaural_renderers_hrtf_data/ivas_binaural_32kHz.bin BINAURAL 32 bin1 out1.wav
Second one:
IVAS_cod -ism +4 ltvISM1.csv ltvISM2.csv ltvISM3.csv ltvISM4.csv 128000 48 ltv48_4ISM.wav bin2
IVAS_dec -fr 20 BINAURAL_ROOM_REVERB 48 bin2 out2.wav