[FFmpeg-trac] #2529(avcodec:reopened): Memory leaks in aac decode

FFmpeg trac at avcodec.org
Sun May 5 18:32:32 CEST 2013


#2529: Memory leaks in aac decode
------------------------------------+------------------------------------
             Reporter:  wolenetz    |                    Owner:
                 Type:  defect      |                   Status:  reopened
             Priority:  normal      |                Component:  avcodec
              Version:  git-master  |               Resolution:
             Keywords:  aac leak    |               Blocked By:
             Blocking:              |  Reproduced by developer:  1
Analyzed by developer:  0           |
------------------------------------+------------------------------------

Comment (by cehoyos):

 {{{
 $ valgrind --leak-check=full ffmpeg_g -i null1.m4a -f null -
 ==7255== Memcheck, a memory error detector
 ==7255== Copyright (C) 2002-2011, and GNU GPL'd, by Julian Seward et al.
 ==7255== Using Valgrind-3.7.0 and LibVEX; rerun with -h for copyright info
 ==7255== Command: ffmpeg_g -i null1.m4a -f null -
 ==7255==
 ffmpeg version N-52789-g2d8dddd Copyright (c) 2000-2013 the FFmpeg
 developers
   built on May  5 2013 18:25:21 with gcc 4.7 (SUSE Linux)
   configuration: --enable-gpl --disable-indev=jack
   libavutil      52. 29.100 / 52. 29.100
   libavcodec     55.  7.100 / 55.  7.100
   libavformat    55.  4.101 / 55.  4.101
   libavdevice    55.  0.100 / 55.  0.100
   libavfilter     3. 63.101 /  3. 63.101
   libswscale      2.  2.100 /  2.  2.100
   libswresample   0. 17.102 /  0. 17.102
   libpostproc    52.  3.100 / 52.  3.100
 [aac @ 0x64ba4a0] decode_band_types: Input buffer exhausted before END
 element found
 Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'null1.m4a':
   Metadata:
     major_brand     : mp42
     minor_version   : 0
     compatible_brands: M4A mp42isom
     creation_time   : 2010-04-20 23:04:52
     encoder         : Nero AAC codec / 1.5.3.0
   Duration: 00:00:02.88, start: 0.000000, bitrate: 125 kb/s
     Chapter #0.0: start 0.105941, end 2.879267
     Metadata:
       title           :
     Stream #0:0(und): Audio: aac (mp4a / 0x6134706D), 44100 Hz, stereo,
 fltp, 88 kb/s
     Metadata:
       creation_time   : 2010-04-20 23:04:52
       handler_name    : Sound Media Handler
 Output #0, null, to 'pipe:':
   Metadata:
     major_brand     : mp42
     minor_version   : 0
     compatible_brands: M4A mp42isom
     encoder         : Lavf55.4.101
     Chapter #0.0: start 0.105941, end 2.879267
     Metadata:
       title           :
     Stream #0:0(und): Audio: pcm_s16le, 44100 Hz, stereo, s16, 1411 kb/s
     Metadata:
       creation_time   : 2010-04-20 23:04:52
       handler_name    : Sound Media Handler
 Stream mapping:
   Stream #0:0 -> #0:0 (aac -> pcm_s16le)
 Press [q] to stop, [?] for help
 Multiple frames in a packet from stream 0
 [aac @ 0x64ba4a0] Number of scalefactor bands in group (15) exceeds limit
 (14).
 Error while decoding stream #0:0: Invalid data found when processing input
 envelope scalefactor overflow in dequant

 ...

 [aac @ 0x64ba4a0] invalid band type
 Error while decoding stream #0:0: Operation not permitted
 size=N/A time=00:00:00.00 bitrate=N/A
 video:0kB audio:0kB subtitle:0 global headers:0kB muxing overhead -inf%
 Output file is empty, nothing was encoded (check -ss / -t / -frames
 parameters if used)
 ==7255==
 ==7255== HEAP SUMMARY:
 ==7255==     in use at exit: 33,088 bytes in 13 blocks
 ==7255==   total heap usage: 1,659 allocs, 1,646 frees, 27,746,641 bytes
 allocated
 ==7255==
 ==7255== 33,088 (48 direct, 33,040 indirect) bytes in 2 blocks are
 definitely lost in loss record 5 of 5
 ==7255==    at 0x4C290FE: memalign (in /usr/lib64/valgrind
 /vgpreload_memcheck-amd64-linux.so)
 ==7255==    by 0x4C291A7: posix_memalign (in /usr/lib64/valgrind
 /vgpreload_memcheck-amd64-linux.so)
 ==7255==    by 0xBDF371: av_mallocz (mem.c:93)
 ==7255==    by 0xBD33E7: av_buffer_alloc (buffer.c:47)
 ==7255==    by 0xBD3BFB: av_buffer_pool_get (buffer.c:305)
 ==7255==    by 0x9B2B6D: audio_get_buffer (utils.c:491)
 ==7255==    by 0x9B42FE: get_buffer_internal (utils.c:815)
 ==7255==    by 0x9B4825: ff_get_buffer (utils.c:827)
 ==7255==    by 0xA988AF: aac_decode_frame_int (aacdec.c:197)
 ==7255==    by 0xA9ADC1: aac_decode_frame (aacdec.c:2690)
 ==7255==    by 0x9B68FB: avcodec_decode_audio4 (utils.c:2071)
 ==7255==    by 0x469197: decode_audio (ffmpeg.c:1500)
 ==7255==
 ==7255== LEAK SUMMARY:
 ==7255==    definitely lost: 48 bytes in 2 blocks
 ==7255==    indirectly lost: 33,040 bytes in 11 blocks
 ==7255==      possibly lost: 0 bytes in 0 blocks
 ==7255==    still reachable: 0 bytes in 0 blocks
 ==7255==         suppressed: 0 bytes in 0 blocks
 ==7255==
 ==7255== For counts of detected and suppressed errors, rerun with: -v
 ==7255== ERROR SUMMARY: 1 errors from 1 contexts (suppressed: 2 from 2)
 }}}

-- 
Ticket URL: <https://ffmpeg.org/trac/ffmpeg/ticket/2529#comment:5>
FFmpeg <http://ffmpeg.org>
FFmpeg issue tracker


More information about the FFmpeg-trac mailing list