[FFmpeg-trac] #5613(avcodec:new): Memleak with -flags +truncated

FFmpeg trac at avcodec.org
Sun Jun 5 20:46:09 CEST 2016


#5613: Memleak with -flags +truncated
-------------------------------------+-------------------------------------
               Reporter:  cehoyos    |                  Owner:
                   Type:  defect     |                 Status:  new
               Priority:  important  |              Component:  avcodec
                Version:  git-       |               Keywords:  leak
  master                             |  regression
             Blocked By:             |               Blocking:
Reproduced by developer:  0          |  Analyzed by developer:  0
-------------------------------------+-------------------------------------
 http://thread.gmane.org/gmane.comp.video.ffmpeg.libav.user/15427
 {{{
 $ ffmpeg -f lavfi -i testsrc=d=10 out.avi
 }}}
 {{{
 $ valgrind --leak-check=full ./ffmpeg_g -flags +truncated -i out.avi -f
 null -
 ==20378== Memcheck, a memory error detector
 ==20378== Copyright (C) 2002-2011, and GNU GPL'd, by Julian Seward et al.
 ==20378== Using Valgrind-3.7.0 and LibVEX; rerun with -h for copyright
 info
 ==20378== Command: ./ffmpeg_g -flags +truncated -i out.avi -f null -
 ==20378==
 ffmpeg version N-80195-g87c53e5 Copyright (c) 2000-2016 the FFmpeg
 developers
   built with gcc 4.7 (SUSE Linux)
   configuration: --enable-gpl
   libavutil      55. 24.100 / 55. 24.100
   libavcodec     57. 44.101 / 57. 44.101
   libavformat    57. 37.101 / 57. 37.101
   libavdevice    57.  0.101 / 57.  0.101
   libavfilter     6. 46.100 /  6. 46.100
   libswscale      4.  1.100 /  4.  1.100
   libswresample   2.  0.101 /  2.  0.101
   libpostproc    54.  0.100 / 54.  0.100
 Input #0, avi, from 'out.avi':
   Metadata:
     encoder         : Lavf57.37.100
   Duration: 00:00:10.00, start: 0.000000, bitrate: 331 kb/s
     Stream #0:0: Video: mpeg4 (Simple Profile) (FMP4 / 0x34504D46),
 yuv420p, 320x240 [SAR 1:1 DAR 4:3], 323 kb/s, 25 fps, 25 tbr, 25 tbn, 25
 tbc
 [null @ 0xb650ba0] Using AVStream.codec to pass codec parameters to muxers
 is deprecated, use AVStream.codecpar instead.
 Output #0, null, to 'pipe:':
   Metadata:
     encoder         : Lavf57.37.101
     Stream #0:0: Video: wrapped_avframe, yuv420p, 320x240 [SAR 1:1 DAR
 4:3], q=2-31, 200 kb/s, 25 fps, 25 tbn, 25 tbc
     Metadata:
       encoder         : Lavc57.44.101 wrapped_avframe
 Stream mapping:
   Stream #0:0 -> #0:0 (mpeg4 (native) -> wrapped_avframe (native))
 Press [q] to stop, [?] for help
 frame=  125 fps=0.0 q=-0.0 Lsize=N/A time=00:00:10.00 bitrate=N/A
 speed=12.1x
 video:60kB audio:0kB subtitle:0kB other streams:0kB global headers:0kB
 muxing overhead: unknown
 ==20378==
 ==20378== HEAP SUMMARY:
 ==20378==     in use at exit: 17,316 bytes in 4 blocks
 ==20378==   total heap usage: 10,532 allocs, 10,528 frees, 2,822,040 bytes
 allocated
 ==20378==
 ==20378== 8,614 bytes in 1 blocks are definitely lost in loss record 3 of
 4
 ==20378==    at 0x4C2ABED: malloc (in /usr/lib64/valgrind
 /vgpreload_memcheck-amd64-linux.so)
 ==20378==    by 0x4C2AD6F: realloc (in /usr/lib64/valgrind
 /vgpreload_memcheck-amd64-linux.so)
 ==20378==    by 0x1097C93: av_fast_realloc (mem.c:168)
 ==20378==    by 0xAB1F98: ff_combine_frame (parser.c:267)
 ==20378==    by 0x7E2E8F: ff_h263_decode_frame (h263dec.c:448)
 ==20378==    by 0xBBA407: avcodec_decode_video2 (utils.c:2217)
 ==20378==    by 0xBBB08F: do_decode (utils.c:2727)
 ==20378==    by 0xBBBEF7: avcodec_send_packet (utils.c:2813)
 ==20378==    by 0x6D38E4: try_decode_frame (utils.c:2899)
 ==20378==    by 0x6DC2C5: avformat_find_stream_info (utils.c:3595)
 ==20378==    by 0x48CA50: open_input_file (ffmpeg_opt.c:999)
 ==20378==    by 0x486582: open_files.isra.8 (ffmpeg_opt.c:3033)
 ==20378==
 ==20378== 8,614 bytes in 1 blocks are definitely lost in loss record 4 of
 4
 ==20378==    at 0x4C2ABED: malloc (in /usr/lib64/valgrind
 /vgpreload_memcheck-amd64-linux.so)
 ==20378==    by 0x4C2AD6F: realloc (in /usr/lib64/valgrind
 /vgpreload_memcheck-amd64-linux.so)
 ==20378==    by 0x1097C93: av_fast_realloc (mem.c:168)
 ==20378==    by 0xAB1F98: ff_combine_frame (parser.c:267)
 ==20378==    by 0x7E2E8F: ff_h263_decode_frame (h263dec.c:448)
 ==20378==    by 0xBBA407: avcodec_decode_video2 (utils.c:2217)
 ==20378==    by 0x49985C: decode_video (ffmpeg.c:2087)
 ==20378==    by 0x49CE76: transcode (ffmpeg.c:2340)
 ==20378==    by 0x47EC6A: main (ffmpeg.c:4350)
 ==20378==
 ==20378== LEAK SUMMARY:
 ==20378==    definitely lost: 17,228 bytes in 2 blocks
 ==20378==    indirectly lost: 0 bytes in 0 blocks
 ==20378==      possibly lost: 0 bytes in 0 blocks
 ==20378==    still reachable: 88 bytes in 2 blocks
 ==20378==         suppressed: 0 bytes in 0 blocks
 ==20378== Reachable blocks (those to which a pointer was found) are not
 shown.
 ==20378== To see them, rerun with: --leak-check=full --show-reachable=yes
 ==20378==
 ==20378== For counts of detected and suppressed errors, rerun with: -v
 ==20378== ERROR SUMMARY: 2 errors from 2 contexts (suppressed: 2 from 2)
 }}}
 Regression since b160fc290cf49b516c5b6ee0730fd9da7fc623b1

--
Ticket URL: <https://trac.ffmpeg.org/ticket/5613>
FFmpeg <https://ffmpeg.org>
FFmpeg issue tracker


More information about the FFmpeg-trac mailing list