Skip to content

Crash in BINAURAL_ROOM_REVERB decode path

We see crash in decoder path while processing bitstream generated with ISM4 encoder using BINAURAL_ROOM_REVERB decoder mode.

  • Encoder : ./IVAS_cod -ism 4 scripts/testv/stvISM1.csv scripts/testv/stvISM2.csv scripts/testv/stvISM3.csv scripts/testv/stvISM4.csv 128000 48 scripts/testv/spectral_test_4ch_48kHz.wav bit
  • Decoder : ./IVAS_dec BINAURAL_ROOM_REVERB 48 bit bit_binaural_room_reverb.wav

The issue persists even when bitstream is generated with IVAS_cod_ref and can be reproduced with 31560a87.

Please note that this crash was observed from last few weeks and not caused by any recent changes in the fixed-point branch (and was reported to Ittiam over the email).

Following is the stack dump :

IVAS_dec: lib_com/basop32.c:2582: L_shl: Assertion `0' failed.
Frames processed:       1       
Program received signal SIGABRT, Aborted.
0x00007ffff7741387 in raise () from /lib64/libc.so.6
Missing separate debuginfos, use: debuginfo-install glibc-2.17-317.el7.x86_64
(gdb) bt
#0  0x00007ffff7741387 in raise () from /lib64/libc.so.6
#1  0x00007ffff7742a78 in abort () from /lib64/libc.so.6
#2  0x00007ffff773a1a6 in __assert_fail_base () from /lib64/libc.so.6
#3  0x00007ffff773a252 in __assert_fail () from /lib64/libc.so.6
#4  0x00000000006e80d0 in L_shl (L_var1=1362584054, var2=1) at lib_com/basop32.c:2582
#5  0x00000000005392df in downmix_input_block_fx (hReverb=0x115bad0, pcm_in=0x7ffffffca1e0, input_audio_config=IVAS_AUDIO_CONFIG_ISM4, pPcm_out=0x7ffffffc9a10, 
    input_offset=0) at lib_rend/ivas_reverb.c:3294
#6  0x0000000000539737 in ivas_reverb_process_fx (hReverb=0x115bad0, input_audio_config=IVAS_AUDIO_CONFIG_ISM4, mix_signals=0, pcm_in_fx=0x7ffffffca1e0, 
    pcm_out_fx=0x7ffffffca240, i_ts=0) at lib_rend/ivas_reverb.c:3561
#7  0x00000000004415e1 in ivas_td_binaural_renderer_sf_fx (st_ivas=0x1096070, output_fx=0x7ffffffcab50, n_samples_granularity=960)
    at lib_dec/ivas_objectRenderer_internal.c:340
#8  0x000000000041823e in ivas_jbm_dec_render_fx (st_ivas=0x1096070, nSamplesAsked=960, nSamplesRendered=0x7fffffff7d36, nSamplesAvailableNext=0x1096054, 
    data=0x1096e40) at lib_dec/ivas_jbm_dec.c:2931
#9  0x000000000040b909 in IVAS_DEC_GetRenderedSamples (hIvasDec=0x1096010, nSamplesForRendering=960, nSamplesRendered=0x7fffffff7d36, 
    nSamplesAvailableNext=0x1096054, pcmBuf=0x1096e40) at lib_dec/lib_dec_fx.c:1515
#10 0x000000000040a8e0 in IVAS_DEC_GetSamples (hIvasDec=0x1096010, nSamplesAsked=960, pcmBuf=0x1096e40, nOutSamples=0x7fffffff809c, needNewFrame=0x7fffffff809f)
    at lib_dec/lib_dec_fx.c:1153
#11 0x0000000000406091 in decodeG192 (arg=..., hBsReader=0x1096520, headRotReader=0x0, externalOrientationFileReader=0x0, refRotReader=0x0, 
    referenceVectorReader=0x0, hIvasDec=0x1096010, pcmBuf=0x1096e40) at apps/decoder.c:1723
#12 0x0000000000403019 in main (argc=5, argv=0x7fffffffe0e8) at apps/decoder.c:604