Skip to content

USAN in BASOP_Util_Divide3232_Scale_newton

Basic info

Follow-up to #1528 (closed)

  • Fixed point:
    • Encoder (fixed): 3116b828 (Wed May 21 07:47:14)

Bug description

In many configurations, a USAN error is detected in BASOP_Util_Divide3232_Scale_newton.

A simple case to reproduce it is WB stereo@128kbps, using stvST16c.wav from the testv set.

Ways to reproduce

To build:

export UBSAN_OPTIONS="suppressions=scripts/ubsan_basop.supp,report_error_type=1,print_stacktrace=1"
python3 scripts/basop_create_ignorelist_for_ubsan.py
make clean
make -j CLANG=3 IGNORELIST=1

To run:

./IVAS_cod -stereo 128000 16 ./scripts/testv/stvST16c.wav tmp.192

-snip-
------ Running the encoder ------

lib_com/basop_util.c:1412:5: runtime error: implicit conversion from type 'unsigned int' of value 2147483648 (32-bit, unsigned) to type 'int' changed the value to -2147483648 (32-bit, signed)
    #0 0xd63479 in BASOP_Util_Divide3232_Scale_newton /mnt/c/Users/eerikno/OneDrive - Ericsson/code/ivas-basop/ivas-basop/lib_com/basop_util.c:1412:5
    #1 0x915213 in CalculateSubblockEnergies_ivas_fx /mnt/c/Users/eerikno/OneDrive - Ericsson/code/ivas-basop/ivas-basop/lib_enc/transient_detection_fx.c:1562:41
    #2 0x912dad in UpdateSubblockEnergies_ivas_fx /mnt/c/Users/eerikno/OneDrive - Ericsson/code/ivas-basop/ivas-basop/lib_enc/transient_detection_fx.c:1345:5
    #3 0x912979 in RunTransientDetection_ivas_fx /mnt/c/Users/eerikno/OneDrive - Ericsson/code/ivas-basop/ivas-basop/lib_enc/transient_detection_fx.c:704:5
    #4 0xa6e3da in ivas_cpe_enc_fx /mnt/c/Users/eerikno/OneDrive - Ericsson/code/ivas-basop/ivas-basop/lib_enc/ivas_cpe_enc_fx.c:479:13
    #5 0x4865ff in ivas_enc_fx /mnt/c/Users/eerikno/OneDrive - Ericsson/code/ivas-basop/ivas-basop/lib_enc/ivas_enc_fx.c:183:9
    #6 0x43afb8 in IVAS_ENC_EncodeFrameToSerial /mnt/c/Users/eerikno/OneDrive - Ericsson/code/ivas-basop/ivas-basop/lib_enc/lib_enc.c:1903:9
    #7 0x42bdf2 in main /mnt/c/Users/eerikno/OneDrive - Ericsson/code/ivas-basop/ivas-basop/apps/encoder.c:761:24
    #8 0x7f150aaecd8f in __libc_start_call_main csu/../sysdeps/nptl/libc_start_call_main.h:58:16
    #9 0x7f150aaece3f in __libc_start_main csu/../csu/libc-start.c:392:3
    #10 0x404544 in _start (/mnt/c/Users/eerikno/OneDrive - Ericsson/code/ivas-basop/ivas-basop/IVAS_cod+0x404544)
Edited by norvell