[FFmpeg-trac] #4943(avcodec:new): Crash with LTP AAC encode

FFmpeg trac at avcodec.org
Sat Oct 17 18:20:54 CEST 2015


#4943: Crash with LTP AAC encode
------------------------------------+-----------------------------------
             Reporter:  ubitux      |                    Owner:
                 Type:  defect      |                   Status:  new
             Priority:  important   |                Component:  avcodec
              Version:  git-master  |               Resolution:
             Keywords:  aac ltp     |               Blocked By:
             Blocking:              |  Reproduced by developer:  0
Analyzed by developer:  0           |
------------------------------------+-----------------------------------

Comment (by ubitux):

 This might help:

 {{{
 ==950== Invalid write of size 86 bitrate= 131.6kbits/s
 ==950==    at 0x90C102: ff_lpc_calc_ref_coefs_f (lpc.c:181)
 ==950==    by 0xE3DB4C: ff_aac_search_for_tns (aacenc_tns.c:208)
 ==950==    by 0xCFDB78: aac_encode_frame (aacenc.c:675)
 ==950==    by 0xA91AD8: avcodec_encode_audio2 (utils.c:1750)
 ==950==    by 0x49AFB5: do_audio_out (ffmpeg.c:836)
 ==950==    by 0x49AFB5: reap_filters (ffmpeg.c:1388)
 ==950==    by 0x47D07C: transcode_step (ffmpeg.c:4030)
 ==950==    by 0x47D07C: transcode (ffmpeg.c:4073)
 ==950==    by 0x47D07C: main (ffmpeg.c:4256)
 ==950==  Address 0xd015830 is 0 bytes after a block of size 16,560 alloc'd
 ==950==    at 0x4C2AD45: memalign (in /usr/lib/valgrind
 /vgpreload_memcheck-amd64-linux.so)
 ==950==    by 0x4C2AE0D: posix_memalign (in /usr/lib/valgrind
 /vgpreload_memcheck-amd64-linux.so)
 ==950==    by 0xF0224F: av_malloc (mem.c:97)
 ==950==    by 0xF0224F: av_mallocz (mem.c:254)
 ==950==    by 0x439A57: ff_lpc_init (lpc.c:303)
 ==950==    by 0x464B05: aac_encode_init (aacenc.c:978)
 ==950==    by 0xA9637C: avcodec_open2 (utils.c:1472)
 ==950==    by 0x49604D: init_output_stream (ffmpeg.c:2608)
 ==950==    by 0x49604D: transcode_init (ffmpeg.c:3173)
 ==950==    by 0x47C9B2: transcode (ffmpeg.c:4044)
 ==950==    by 0x47C9B2: main (ffmpeg.c:4256)
 ==950==
 ==950== Invalid read of size 16
 ==950==    at 0xC37DA2: lpc_compute_autocorr_sse2 (lpc.c:124)
 ==950==    by 0x90C12C: ff_lpc_calc_ref_coefs_f (lpc.c:184)
 ==950==    by 0xE3DB4C: ff_aac_search_for_tns (aacenc_tns.c:208)
 ==950==    by 0xCFDB78: aac_encode_frame (aacenc.c:675)
 ==950==    by 0xA91AD8: avcodec_encode_audio2 (utils.c:1750)
 ==950==    by 0x49AFB5: do_audio_out (ffmpeg.c:836)
 ==950==    by 0x49AFB5: reap_filters (ffmpeg.c:1388)
 ==950==    by 0x47D07C: transcode_step (ffmpeg.c:4030)
 ==950==    by 0x47D07C: transcode (ffmpeg.c:4073)
 ==950==    by 0x47D07C: main (ffmpeg.c:4256)
 ==950==  Address 0xd015830 is 0 bytes after a block of size 16,560 alloc'd
 ==950==    at 0x4C2AD45: memalign (in /usr/lib/valgrind
 /vgpreload_memcheck-amd64-linux.so)
 ==950==    by 0x4C2AE0D: posix_memalign (in /usr/lib/valgrind
 /vgpreload_memcheck-amd64-linux.so)
 ==950==    by 0xF0224F: av_malloc (mem.c:97)
 ==950==    by 0xF0224F: av_mallocz (mem.c:254)
 ==950==    by 0x439A57: ff_lpc_init (lpc.c:303)
 ==950==    by 0x464B05: aac_encode_init (aacenc.c:978)
 ==950==    by 0xA9637C: avcodec_open2 (utils.c:1472)
 ==950==    by 0x49604D: init_output_stream (ffmpeg.c:2608)
 ==950==    by 0x49604D: transcode_init (ffmpeg.c:3173)
 ==950==    by 0x47C9B2: transcode (ffmpeg.c:4044)
 ==950==    by 0x47C9B2: main (ffmpeg.c:4256)
 ==950==
 ==950== Invalid read of size 16
 ==950==    at 0xC37DA8: lpc_compute_autocorr_sse2 (lpc.c:124)
 ==950==    by 0x90C12C: ff_lpc_calc_ref_coefs_f (lpc.c:184)
 ==950==    by 0xE3DB4C: ff_aac_search_for_tns (aacenc_tns.c:208)
 ==950==    by 0xCFDB78: aac_encode_frame (aacenc.c:675)
 ==950==    by 0xA91AD8: avcodec_encode_audio2 (utils.c:1750)
 ==950==    by 0x49AFB5: do_audio_out (ffmpeg.c:836)
 ==950==    by 0x49AFB5: reap_filters (ffmpeg.c:1388)
 ==950==    by 0x47D07C: transcode_step (ffmpeg.c:4030)
 ==950==    by 0x47D07C: transcode (ffmpeg.c:4073)
 ==950==    by 0x47D07C: main (ffmpeg.c:4256)
 ==950==  Address 0xd015828 is 16,552 bytes inside a block of size 16,560
 alloc'd
 ==950==    at 0x4C2AD45: memalign (in /usr/lib/valgrind
 /vgpreload_memcheck-amd64-linux.so)
 ==950==    by 0x4C2AE0D: posix_memalign (in /usr/lib/valgrind
 /vgpreload_memcheck-amd64-linux.so)
 ==950==    by 0xF0224F: av_malloc (mem.c:97)
 ==950==    by 0xF0224F: av_mallocz (mem.c:254)
 ==950==    by 0x439A57: ff_lpc_init (lpc.c:303)
 ==950==    by 0x464B05: aac_encode_init (aacenc.c:978)
 ==950==    by 0xA9637C: avcodec_open2 (utils.c:1472)
 ==950==    by 0x49604D: init_output_stream (ffmpeg.c:2608)
 ==950==    by 0x49604D: transcode_init (ffmpeg.c:3173)
 ==950==    by 0x47C9B2: transcode (ffmpeg.c:4044)
 ==950==    by 0x47C9B2: main (ffmpeg.c:4256)
 ==950==
 ==950== Invalid read of size 16
 ==950==    at 0xC37DB2: lpc_compute_autocorr_sse2 (lpc.c:124)
 ==950==    by 0x90C12C: ff_lpc_calc_ref_coefs_f (lpc.c:184)
 ==950==    by 0xE3DB4C: ff_aac_search_for_tns (aacenc_tns.c:208)
 ==950==    by 0xCFDB78: aac_encode_frame (aacenc.c:675)
 ==950==    by 0xA91AD8: avcodec_encode_audio2 (utils.c:1750)
 ==950==    by 0x49AFB5: do_audio_out (ffmpeg.c:836)
 ==950==    by 0x49AFB5: reap_filters (ffmpeg.c:1388)
 ==950==    by 0x47D07C: transcode_step (ffmpeg.c:4030)
 ==950==    by 0x47D07C: transcode (ffmpeg.c:4073)
 ==950==    by 0x47D07C: main (ffmpeg.c:4256)
 ==950==  Address 0xd015830 is 0 bytes after a block of size 16,560 alloc'd
 ==950==    at 0x4C2AD45: memalign (in /usr/lib/valgrind
 /vgpreload_memcheck-amd64-linux.so)
 ==950==    by 0x4C2AE0D: posix_memalign (in /usr/lib/valgrind
 /vgpreload_memcheck-amd64-linux.so)
 ==950==    by 0xF0224F: av_malloc (mem.c:97)
 ==950==    by 0xF0224F: av_mallocz (mem.c:254)
 ==950==    by 0x439A57: ff_lpc_init (lpc.c:303)
 ==950==    by 0x464B05: aac_encode_init (aacenc.c:978)
 ==950==    by 0xA9637C: avcodec_open2 (utils.c:1472)
 ==950==    by 0x49604D: init_output_stream (ffmpeg.c:2608)
 ==950==    by 0x49604D: transcode_init (ffmpeg.c:3173)
 ==950==    by 0x47C9B2: transcode (ffmpeg.c:4044)
 ==950==    by 0x47C9B2: main (ffmpeg.c:4256)
 ==950==
 ==950== Invalid read of size 16
 ==950==    at 0xC37DC3: lpc_compute_autocorr_sse2 (lpc.c:124)
 ==950==    by 0x90C12C: ff_lpc_calc_ref_coefs_f (lpc.c:184)
 ==950==    by 0xE3DB4C: ff_aac_search_for_tns (aacenc_tns.c:208)
 ==950==    by 0xCFDB78: aac_encode_frame (aacenc.c:675)
 ==950==    by 0xA91AD8: avcodec_encode_audio2 (utils.c:1750)
 ==950==    by 0x49AFB5: do_audio_out (ffmpeg.c:836)
 ==950==    by 0x49AFB5: reap_filters (ffmpeg.c:1388)
 ==950==    by 0x47D07C: transcode_step (ffmpeg.c:4030)
 ==950==    by 0x47D07C: transcode (ffmpeg.c:4073)
 ==950==    by 0x47D07C: main (ffmpeg.c:4256)
 ==950==  Address 0xd015840 is 16 bytes after a block of size 16,560
 alloc'd
 ==950==    at 0x4C2AD45: memalign (in /usr/lib/valgrind
 /vgpreload_memcheck-amd64-linux.so)
 ==950==    by 0x4C2AE0D: posix_memalign (in /usr/lib/valgrind
 /vgpreload_memcheck-amd64-linux.so)
 ==950==    by 0xF0224F: av_malloc (mem.c:97)
 ==950==    by 0xF0224F: av_mallocz (mem.c:254)
 ==950==    by 0x439A57: ff_lpc_init (lpc.c:303)
 ==950==    by 0x464B05: aac_encode_init (aacenc.c:978)
 ==950==    by 0xA9637C: avcodec_open2 (utils.c:1472)
 ==950==    by 0x49604D: init_output_stream (ffmpeg.c:2608)
 ==950==    by 0x49604D: transcode_init (ffmpeg.c:3173)
 ==950==    by 0x47C9B2: transcode (ffmpeg.c:4044)
 ==950==    by 0x47C9B2: main (ffmpeg.c:4256)
 ==950==
 ==950== Invalid read of size 16
 ==950==    at 0xC37E08: lpc_compute_autocorr_sse2 (lpc.c:93)
 ==950==    by 0x90C12C: ff_lpc_calc_ref_coefs_f (lpc.c:184)
 ==950==    by 0xE3DB4C: ff_aac_search_for_tns (aacenc_tns.c:208)
 ==950==    by 0xCFDB78: aac_encode_frame (aacenc.c:675)
 ==950==    by 0xA91AD8: avcodec_encode_audio2 (utils.c:1750)
 ==950==    by 0x49AFB5: do_audio_out (ffmpeg.c:836)
 ==950==    by 0x49AFB5: reap_filters (ffmpeg.c:1388)
 ==950==    by 0x47D07C: transcode_step (ffmpeg.c:4030)
 ==950==    by 0x47D07C: transcode (ffmpeg.c:4073)
 ==950==    by 0x47D07C: main (ffmpeg.c:4256)
 ==950==  Address 0xd015830 is 0 bytes after a block of size 16,560 alloc'd
 ==950==    at 0x4C2AD45: memalign (in /usr/lib/valgrind
 /vgpreload_memcheck-amd64-linux.so)
 ==950==    by 0x4C2AE0D: posix_memalign (in /usr/lib/valgrind
 /vgpreload_memcheck-amd64-linux.so)
 ==950==    by 0xF0224F: av_malloc (mem.c:97)
 ==950==    by 0xF0224F: av_mallocz (mem.c:254)
 ==950==    by 0x439A57: ff_lpc_init (lpc.c:303)
 ==950==    by 0x464B05: aac_encode_init (aacenc.c:978)
 ==950==    by 0xA9637C: avcodec_open2 (utils.c:1472)
 ==950==    by 0x49604D: init_output_stream (ffmpeg.c:2608)
 ==950==    by 0x49604D: transcode_init (ffmpeg.c:3173)
 ==950==    by 0x47C9B2: transcode (ffmpeg.c:4044)
 ==950==    by 0x47C9B2: main (ffmpeg.c:4256)
 ==950==
 ==950== Invalid read of size 16
 ==950==    at 0xC37E37: lpc_compute_autocorr_sse2 (lpc.c:93)
 ==950==    by 0x90C12C: ff_lpc_calc_ref_coefs_f (lpc.c:184)
 ==950==    by 0xE3DB4C: ff_aac_search_for_tns (aacenc_tns.c:208)
 ==950==    by 0xCFDB78: aac_encode_frame (aacenc.c:675)
 ==950==    by 0xA91AD8: avcodec_encode_audio2 (utils.c:1750)
 ==950==    by 0x49AFB5: do_audio_out (ffmpeg.c:836)
 ==950==    by 0x49AFB5: reap_filters (ffmpeg.c:1388)
 ==950==    by 0x47D07C: transcode_step (ffmpeg.c:4030)
 ==950==    by 0x47D07C: transcode (ffmpeg.c:4073)
 ==950==    by 0x47D07C: main (ffmpeg.c:4256)
 ==950==  Address 0xd015840 is 16 bytes after a block of size 16,560
 alloc'd
 ==950==    at 0x4C2AD45: memalign (in /usr/lib/valgrind
 /vgpreload_memcheck-amd64-linux.so)
 ==950==    by 0x4C2AE0D: posix_memalign (in /usr/lib/valgrind
 /vgpreload_memcheck-amd64-linux.so)
 ==950==    by 0xF0224F: av_malloc (mem.c:97)
 ==950==    by 0xF0224F: av_mallocz (mem.c:254)
 ==950==    by 0x439A57: ff_lpc_init (lpc.c:303)
 ==950==    by 0x464B05: aac_encode_init (aacenc.c:978)
 ==950==    by 0xA9637C: avcodec_open2 (utils.c:1472)
 ==950==    by 0x49604D: init_output_stream (ffmpeg.c:2608)
 ==950==    by 0x49604D: transcode_init (ffmpeg.c:3173)
 ==950==    by 0x47C9B2: transcode (ffmpeg.c:4044)
 ==950==    by 0x47C9B2: main (ffmpeg.c:4256)
 ==950==
 ==950== Invalid read of size 16
 ==950==    at 0xC37E0E: lpc_compute_autocorr_sse2 (lpc.c:93)
 ==950==    by 0x90C12C: ff_lpc_calc_ref_coefs_f (lpc.c:184)
 ==950==    by 0xE3DB4C: ff_aac_search_for_tns (aacenc_tns.c:208)
 ==950==    by 0xCFDB78: aac_encode_frame (aacenc.c:675)
 ==950==    by 0xA91AD8: avcodec_encode_audio2 (utils.c:1750)
 ==950==    by 0x49AFB5: do_audio_out (ffmpeg.c:836)
 ==950==    by 0x49AFB5: reap_filters (ffmpeg.c:1388)
 ==950==    by 0x47D07C: transcode_step (ffmpeg.c:4030)
 ==950==    by 0x47D07C: transcode (ffmpeg.c:4073)
 ==950==    by 0x47D07C: main (ffmpeg.c:4256)
 ==950==  Address 0xd015828 is 16,552 bytes inside a block of size 16,560
 alloc'd
 ==950==    at 0x4C2AD45: memalign (in /usr/lib/valgrind
 /vgpreload_memcheck-amd64-linux.so)
 ==950==    by 0x4C2AE0D: posix_memalign (in /usr/lib/valgrind
 /vgpreload_memcheck-amd64-linux.so)
 ==950==    by 0xF0224F: av_malloc (mem.c:97)
 ==950==    by 0xF0224F: av_mallocz (mem.c:254)
 ==950==    by 0x439A57: ff_lpc_init (lpc.c:303)
 ==950==    by 0x464B05: aac_encode_init (aacenc.c:978)
 ==950==    by 0xA9637C: avcodec_open2 (utils.c:1472)
 ==950==    by 0x49604D: init_output_stream (ffmpeg.c:2608)
 ==950==    by 0x49604D: transcode_init (ffmpeg.c:3173)
 ==950==    by 0x47C9B2: transcode (ffmpeg.c:4044)
 ==950==    by 0x47C9B2: main (ffmpeg.c:4256)
 ==950==
 ==950== Invalid read of size 16
 ==950==    at 0xC37E14: lpc_compute_autocorr_sse2 (lpc.c:93)
 ==950==    by 0x90C12C: ff_lpc_calc_ref_coefs_f (lpc.c:184)
 ==950==    by 0xE3DB4C: ff_aac_search_for_tns (aacenc_tns.c:208)
 ==950==    by 0xCFDB78: aac_encode_frame (aacenc.c:675)
 ==950==    by 0xA91AD8: avcodec_encode_audio2 (utils.c:1750)
 ==950==    by 0x49AFB5: do_audio_out (ffmpeg.c:836)
 ==950==    by 0x49AFB5: reap_filters (ffmpeg.c:1388)
 ==950==    by 0x47D07C: transcode_step (ffmpeg.c:4030)
 ==950==    by 0x47D07C: transcode (ffmpeg.c:4073)
 ==950==    by 0x47D07C: main (ffmpeg.c:4256)
 ==950==  Address 0xd015830 is 0 bytes after a block of size 16,560 alloc'd
 ==950==    at 0x4C2AD45: memalign (in /usr/lib/valgrind
 /vgpreload_memcheck-amd64-linux.so)
 ==950==    by 0x4C2AE0D: posix_memalign (in /usr/lib/valgrind
 /vgpreload_memcheck-amd64-linux.so)
 ==950==    by 0xF0224F: av_malloc (mem.c:97)
 ==950==    by 0xF0224F: av_mallocz (mem.c:254)
 ==950==    by 0x439A57: ff_lpc_init (lpc.c:303)
 ==950==    by 0x464B05: aac_encode_init (aacenc.c:978)
 ==950==    by 0xA9637C: avcodec_open2 (utils.c:1472)
 ==950==    by 0x49604D: init_output_stream (ffmpeg.c:2608)
 ==950==    by 0x49604D: transcode_init (ffmpeg.c:3173)
 ==950==    by 0x47C9B2: transcode (ffmpeg.c:4044)
 ==950==    by 0x47C9B2: main (ffmpeg.c:4256)
 ==950==
 ==950== Invalid read of size 16
 ==950==    at 0xC37E21: lpc_compute_autocorr_sse2 (lpc.c:93)
 ==950==    by 0x90C12C: ff_lpc_calc_ref_coefs_f (lpc.c:184)
 ==950==    by 0xE3DB4C: ff_aac_search_for_tns (aacenc_tns.c:208)
 ==950==    by 0xCFDB78: aac_encode_frame (aacenc.c:675)
 ==950==    by 0xA91AD8: avcodec_encode_audio2 (utils.c:1750)
 ==950==    by 0x49AFB5: do_audio_out (ffmpeg.c:836)
 ==950==    by 0x49AFB5: reap_filters (ffmpeg.c:1388)
 ==950==    by 0x47D07C: transcode_step (ffmpeg.c:4030)
 ==950==    by 0x47D07C: transcode (ffmpeg.c:4073)
 ==950==    by 0x47D07C: main (ffmpeg.c:4256)
 ==950==  Address 0xd015830 is 0 bytes after a block of size 16,560 alloc'd
 ==950==    at 0x4C2AD45: memalign (in /usr/lib/valgrind
 /vgpreload_memcheck-amd64-linux.so)
 ==950==    by 0x4C2AE0D: posix_memalign (in /usr/lib/valgrind
 /vgpreload_memcheck-amd64-linux.so)
 ==950==    by 0xF0224F: av_malloc (mem.c:97)
 ==950==    by 0xF0224F: av_mallocz (mem.c:254)
 ==950==    by 0x439A57: ff_lpc_init (lpc.c:303)
 ==950==    by 0x464B05: aac_encode_init (aacenc.c:978)
 ==950==    by 0xA9637C: avcodec_open2 (utils.c:1472)
 ==950==    by 0x49604D: init_output_stream (ffmpeg.c:2608)
 ==950==    by 0x49604D: transcode_init (ffmpeg.c:3173)
 ==950==    by 0x47C9B2: transcode (ffmpeg.c:4044)
 ==950==    by 0x47C9B2: main (ffmpeg.c:4256)
 ==950==
 ==950== Conditional jump or move depends on uninitialised value(s)
 ==950==    at 0xE3DB59: ff_aac_search_for_tns (aacenc_tns.c:211)
 ==950==    by 0xCFDB78: aac_encode_frame (aacenc.c:675)
 ==950==    by 0xA91AD8: avcodec_encode_audio2 (utils.c:1750)
 ==950==    by 0x49AFB5: do_audio_out (ffmpeg.c:836)
 ==950==    by 0x49AFB5: reap_filters (ffmpeg.c:1388)
 ==950==    by 0x47D07C: transcode_step (ffmpeg.c:4030)
 ==950==    by 0x47D07C: transcode (ffmpeg.c:4073)
 ==950==    by 0x47D07C: main (ffmpeg.c:4256)
 ==950==
 --950-- VALGRIND INTERNAL ERROR: Valgrind received a signal 11 (SIGSEGV) -
 exiting
 --950-- si_code=1;  Faulting address: 0x0;  sp: 0x802f10df0

 valgrind: the 'impossible' happened:
    Killed by fatal signal
 }}}

--
Ticket URL: <https://trac.ffmpeg.org/ticket/4943#comment:1>
FFmpeg <https://ffmpeg.org>
FFmpeg issue tracker


More information about the FFmpeg-trac mailing list