ASAN: Memory leak in MC to BINAURAL_ROOM decoding with bitrate switching
Basic info
- Commit SHA: 637d9bbf
Bug description
Clang ASAN sanitizer test in pipeline found an error:
==7973==ERROR: LeakSanitizer: detected memory leaks
Direct leak of 426496 byte(s) in 119 object(s) allocated from:
#0 0x49c47d in __interceptor_malloc (/ivas-codec/CLANG2/IVAS_dec+0x49c47d)
#1 0x8bdc0a in efap_init_data /ivas-codec/lib_rend/ivas_efap.c:167:28
#2 0xa47590 in ivas_binRenderer_open /ivas-codec/lib_dec/ivas_binRenderer_internal.c:1293:28
#3 0x67137a in ivas_mc_dec_reconfig /ivas-codec/lib_dec/ivas_mct_dec.c:1243:32
#4 0x66c8f0 in ivas_mc_dec_config /ivas-codec/lib_dec/ivas_mct_dec.c:688:32
#5 0x5b893f in ivas_dec_setup /ivas-codec/lib_dec/ivas_init_dec.c:542:28
#6 0x4ee40d in IVAS_DEC_Setup /ivas-codec/lib_dec/lib_dec.c:1250:28
#7 0x4ed01f in IVAS_DEC_GetSamples /ivas-codec/lib_dec/lib_dec.c:926:28
#8 0x4e0193 in decodeG192 /ivas-codec/apps/decoder.c:2366:28
#9 0x4d2bc2 in main /ivas-codec/apps/decoder.c:836:17
#10 0x7f3a83800d8f in __libc_start_call_main csu/../sysdeps/nptl/libc_start_call_main.h:58:16
Indirect leak of 33320 byte(s) in 119 object(s) allocated from:
#0 0x49c47d in __interceptor_malloc (/ivas-codec/CLANG2/IVAS_dec+0x49c47d)
#1 0x8bdd0f in efap_init_data /ivas-codec/lib_rend/ivas_efap.c:183:56
#2 0xa47590 in ivas_binRenderer_open /ivas-codec/lib_dec/ivas_binRenderer_internal.c:1293:28
#3 0x67137a in ivas_mc_dec_reconfig /ivas-codec/lib_dec/ivas_mct_dec.c:1243:32
#4 0x66c8f0 in ivas_mc_dec_config /ivas-codec/lib_dec/ivas_mct_dec.c:688:32
#5 0x5b893f in ivas_dec_setup /ivas-codec/lib_dec/ivas_init_dec.c:542:28
#6 0x4ee40d in IVAS_DEC_Setup /ivas-codec/lib_dec/lib_dec.c:1250:28
#7 0x4ed01f in IVAS_DEC_GetSamples /ivas-codec/lib_dec/lib_dec.c:926:28
#8 0x4e0193 in decodeG192 /ivas-codec/apps/decoder.c:2366:28
#9 0x4d2bc2 in main /ivas-codec/apps/decoder.c:836:17
#10 0x7f3a83800d8f in __libc_start_call_main csu/../sysdeps/nptl/libc_start_call_main.h:58:16
Indirect leak of 16660 byte(s) in 833 object(s) allocated from:
#0 0x49c47d in __interceptor_malloc (/ivas-codec/CLANG2/IVAS_dec+0x49c47d)
#1 0x8c2cb6 in sphere_triangulation /ivas-codec/lib_rend/ivas_efap.c:562:35
#2 0x8be69a in poly_init /ivas-codec/lib_rend/ivas_efap.c:393:20
#3 0x8bdfd7 in efap_init_data /ivas-codec/lib_rend/ivas_efap.c:211:20
#4 0xa47590 in ivas_binRenderer_open /ivas-codec/lib_dec/ivas_binRenderer_internal.c:1293:28
#5 0x67137a in ivas_mc_dec_reconfig /ivas-codec/lib_dec/ivas_mct_dec.c:1243:32
#6 0x66c8f0 in ivas_mc_dec_config /ivas-codec/lib_dec/ivas_mct_dec.c:688:32
#7 0x5b893f in ivas_dec_setup /ivas-codec/lib_dec/ivas_init_dec.c:542:28
#8 0x4ee40d in IVAS_DEC_Setup /ivas-codec/lib_dec/lib_dec.c:1250:28
#9 0x4ed01f in IVAS_DEC_GetSamples /ivas-codec/lib_dec/lib_dec.c:926:28
#10 0x4e0193 in decodeG192 /ivas-codec/apps/decoder.c:2366:28
#11 0x4d2bc2 in main /ivas-codec/apps/decoder.c:836:17
#12 0x7f3a83800d8f in __libc_start_call_main csu/../sysdeps/nptl/libc_start_call_main.h:58:16
Indirect leak of 6664 byte(s) in 119 object(s) allocated from:
#0 0x49c47d in __interceptor_malloc (/ivas-codec/CLANG2/IVAS_dec+0x49c47d)
#1 0x8c2b36 in sphere_triangulation /ivas-codec/lib_rend/ivas_efap.c:552:28
#2 0x8be69a in poly_init /ivas-codec/lib_rend/ivas_efap.c:393:20
#3 0x8bdfd7 in efap_init_data /ivas-codec/lib_rend/ivas_efap.c:211:20
#4 0xa47590 in ivas_binRenderer_open /ivas-codec/lib_dec/ivas_binRenderer_internal.c:1293:28
#5 0x67137a in ivas_mc_dec_reconfig /ivas-codec/lib_dec/ivas_mct_dec.c:1243:32
#6 0x66c8f0 in ivas_mc_dec_config /ivas-codec/lib_dec/ivas_mct_dec.c:688:32
#7 0x5b893f in ivas_dec_setup /ivas-codec/lib_dec/ivas_init_dec.c:542:28
#8 0x4ee40d in IVAS_DEC_Setup /ivas-codec/lib_dec/lib_dec.c:1250:28
#9 0x4ed01f in IVAS_DEC_GetSamples /ivas-codec/lib_dec/lib_dec.c:926:28
#10 0x4e0193 in decodeG192 /ivas-codec/apps/decoder.c:2366:28
#11 0x4d2bc2 in main /ivas-codec/apps/decoder.c:836:17
#12 0x7f3a83800d8f in __libc_start_call_main csu/../sysdeps/nptl/libc_start_call_main.h:58:16
Indirect leak of 3332 byte(s) in 119 object(s) allocated from:
#0 0x49c47d in __interceptor_malloc (/ivas-codec/CLANG2/IVAS_dec+0x49c47d)
#1 0x8be05d in efap_init_data /ivas-codec/lib_rend/ivas_efap.c:217:41
#2 0xa47590 in ivas_binRenderer_open /ivas-codec/lib_dec/ivas_binRenderer_internal.c:1293:28
#3 0x67137a in ivas_mc_dec_reconfig /ivas-codec/lib_dec/ivas_mct_dec.c:1243:32
#4 0x66c8f0 in ivas_mc_dec_config /ivas-codec/lib_dec/ivas_mct_dec.c:688:32
#5 0x5b893f in ivas_dec_setup /ivas-codec/lib_dec/ivas_init_dec.c:542:28
#6 0x4ee40d in IVAS_DEC_Setup /ivas-codec/lib_dec/lib_dec.c:1250:28
#7 0x4ed01f in IVAS_DEC_GetSamples /ivas-codec/lib_dec/lib_dec.c:926:28
#8 0x4e0193 in decodeG192 /ivas-codec/apps/decoder.c:2366:28
#9 0x4d2bc2 in main /ivas-codec/apps/decoder.c:836:17
#10 0x7f3a83800d8f in __libc_start_call_main csu/../sysdeps/nptl/libc_start_call_main.h:58:16
Indirect leak of 2380 byte(s) in 119 object(s) allocated from:
#0 0x49c47d in __interceptor_malloc (/ivas-codec/CLANG2/IVAS_dec+0x49c47d)
#1 0x8bdc3f in efap_init_data /ivas-codec/lib_rend/ivas_efap.c:173:37
#2 0xa47590 in ivas_binRenderer_open /ivas-codec/lib_dec/ivas_binRenderer_internal.c:1293:28
#3 0x67137a in ivas_mc_dec_reconfig /ivas-codec/lib_dec/ivas_mct_dec.c:1243:32
#4 0x66c8f0 in ivas_mc_dec_config /ivas-codec/lib_dec/ivas_mct_dec.c:688:32
#5 0x5b893f in ivas_dec_setup /ivas-codec/lib_dec/ivas_init_dec.c:542:28
#6 0x4ee40d in IVAS_DEC_Setup /ivas-codec/lib_dec/lib_dec.c:1250:28
#7 0x4ed01f in IVAS_DEC_GetSamples /ivas-codec/lib_dec/lib_dec.c:926:28
#8 0x4e0193 in decodeG192 /ivas-codec/apps/decoder.c:2366:28
#9 0x4d2bc2 in main /ivas-codec/apps/decoder.c:836:17
#10 0x7f3a83800d8f in __libc_start_call_main csu/../sysdeps/nptl/libc_start_call_main.h:58:16
Indirect leak of 2380 byte(s) in 119 object(s) allocated from:
#0 0x49c47d in __interceptor_malloc (/ivas-codec/CLANG2/IVAS_dec+0x49c47d)
#1 0x8bdca5 in efap_init_data /ivas-codec/lib_rend/ivas_efap.c:177:37
#2 0xa47590 in ivas_binRenderer_open /ivas-codec/lib_dec/ivas_binRenderer_internal.c:1293:28
#3 0x67137a in ivas_mc_dec_reconfig /ivas-codec/lib_dec/ivas_mct_dec.c:1243:32
#4 0x66c8f0 in ivas_mc_dec_config /ivas-codec/lib_dec/ivas_mct_dec.c:688:32
#5 0x5b893f in ivas_dec_setup /ivas-codec/lib_dec/ivas_init_dec.c:542:28
#6 0x4ee40d in IVAS_DEC_Setup /ivas-codec/lib_dec/lib_dec.c:1250:28
#7 0x4ed01f in IVAS_DEC_GetSamples /ivas-codec/lib_dec/lib_dec.c:926:28
#8 0x4e0193 in decodeG192 /ivas-codec/apps/decoder.c:2366:28
#9 0x4d2bc2 in main /ivas-codec/apps/decoder.c:836:17
#10 0x7f3a83800d8f in __libc_start_call_main csu/../sysdeps/nptl/libc_start_call_main.h:58:16
Indirect leak of 2380 byte(s) in 119 object(s) allocated from:
#0 0x49c47d in __interceptor_malloc (/ivas-codec/CLANG2/IVAS_dec+0x49c47d)
#1 0x8bdd75 in efap_init_data /ivas-codec/lib_rend/ivas_efap.c:189:42
#2 0xa47590 in ivas_binRenderer_open /ivas-codec/lib_dec/ivas_binRenderer_internal.c:1293:28
#3 0x67137a in ivas_mc_dec_reconfig /ivas-codec/lib_dec/ivas_mct_dec.c:1243:32
#4 0x66c8f0 in ivas_mc_dec_config /ivas-codec/lib_dec/ivas_mct_dec.c:688:32
#5 0x5b893f in ivas_dec_setup /ivas-codec/lib_dec/ivas_init_dec.c:542:28
#6 0x4ee40d in IVAS_DEC_Setup /ivas-codec/lib_dec/lib_dec.c:1250:28
#7 0x4ed01f in IVAS_DEC_GetSamples /ivas-codec/lib_dec/lib_dec.c:926:28
#8 0x4e0193 in decodeG192 /ivas-codec/apps/decoder.c:2366:28
#9 0x4d2bc2 in main /ivas-codec/apps/decoder.c:836:17
#10 0x7f3a83800d8f in __libc_start_call_main csu/../sysdeps/nptl/libc_start_call_main.h:58:16
Indirect leak of 1666 byte(s) in 119 object(s) allocated from:
#0 0x49c47d in __interceptor_malloc (/ivas-codec/CLANG2/IVAS_dec+0x49c47d)
#1 0x8c277b in sphere_triangulation /ivas-codec/lib_rend/ivas_efap.c:533:44
#2 0x8be69a in poly_init /ivas-codec/lib_rend/ivas_efap.c:393:20
#3 0x8bdfd7 in efap_init_data /ivas-codec/lib_rend/ivas_efap.c:211:20
#4 0xa47590 in ivas_binRenderer_open /ivas-codec/lib_dec/ivas_binRenderer_internal.c:1293:28
#5 0x67137a in ivas_mc_dec_reconfig /ivas-codec/lib_dec/ivas_mct_dec.c:1243:32
#6 0x66c8f0 in ivas_mc_dec_config /ivas-codec/lib_dec/ivas_mct_dec.c:688:32
#7 0x5b893f in ivas_dec_setup /ivas-codec/lib_dec/ivas_init_dec.c:542:28
#8 0x4ee40d in IVAS_DEC_Setup /ivas-codec/lib_dec/lib_dec.c:1250:28
#9 0x4ed01f in IVAS_DEC_GetSamples /ivas-codec/lib_dec/lib_dec.c:926:28
#10 0x4e0193 in decodeG192 /ivas-codec/apps/decoder.c:2366:28
#11 0x4d2bc2 in main /ivas-codec/apps/decoder.c:836:17
#12 0x7f3a83800d8f in __libc_start_call_main csu/../sysdeps/nptl/libc_start_call_main.h:58:16
SUMMARY: AddressSanitizer: 495278 byte(s) leaked in 1785 allocation(s).
Link to test pipeline: https://forge.3gpp.org/rep/ivas-codec-pc/ivas-codec/-/jobs/246913
Ways to reproduce
Using the scripts:
python3 scripts/IvasBuildAndRunChecks.py --checks CLANG2 -m MC_5_1_ball_fb_rs -p /path/to/my/local/ci_linux_ltv_local.json -D="-T ./head_rot_traj.csv" --oc BINAURAL_ROOM_IR BINAURAL_ROOM_IR
or directly:
make clean
make -j CLANG=2
./IVAS_cod -mc 5_1 -max_band fb ./scripts/switchPaths/sw_13k2_512k.bin 48 ltv48_MC51.wav bit
./IVAS_dec -T ./scripts/trajectories/const000.csv BINAURAL_ROOM_IR 48 bit out.wav
Edited by Jan Kiene