Opened 7 years ago

Last modified 7 years ago

#6369 new defect

Memory leak on HLS segmenting without transcoding

Reported by: ksotik Owned by:
Priority: normal Component: undetermined
Version: git-master Keywords: hls leak
Cc: Blocked By:
Blocking: Reproduced by developer: no
Analyzed by developer: no

Description

Summary of the bug:
When segmenting a video stream into a HLS without transcoding (using -vcodec copy & -acodec copy), a memory leak occurs, approximately 30 MB per minute. There is no dependence on the input video stream, but all checks were carried out on a multicast input.

How to reproduce:

% /usr/local/bin/ffmpeg -re -i udp://@239.126.126.3:1300?fifo_size=5000000&overrun_nonfatal_option=1 -nostdin -threads 0 -acodec copy -vcodec copy -sn -flags -global_header -hls_time 5 -hls_list_size 5 -hls_flags second_level_segment_index+second_level_segment_size+second_level_segment_duration+delete_segments+discont_start -use_localtime 1 -start_number 1 -hls_segment_filename /opt/data/hls/stream/ch1_%Y%m%d%H%M%S_%%03d_%%08s_%%08t.ts /opt/data/hls/stream/playlist.m3u8
ffmpeg version N-85590-g8707147 Copyright (c) 2000-2017 the FFmpeg developers
  built with gcc 4.9.2 (Debian 4.9.2-10)
  configuration: --pkg-config-flags=--static --enable-gpl --enable-libfdk-aac --enable-libfreetype --enable-libmp3lame --enable-libopus --enable-libtheora --enable-libvorbis --enable-libvpx --enable-libx264 --enable-libx265 --enable-nonfree
  libavutil      55. 61.100 / 55. 61.100
  libavcodec     57. 93.100 / 57. 93.100
  libavformat    57. 72.101 / 57. 72.101
  libavdevice    57.  7.100 / 57.  7.100
  libavfilter     6. 84.101 /  6. 84.101
  libswscale      4.  7.101 /  4.  7.101
  libswresample   2.  8.100 /  2.  8.100
  libpostproc    54.  6.100 / 54.  6.100

Change History (10)

comment:1 by Carl Eugen Hoyos, 7 years ago

Keywords: memory without transcoding removed

Is network input required to reproduce this issue or is it also reproducible with file input?

comment:2 by Carl Eugen Hoyos, 7 years ago

Priority: importantnormal

comment:3 by ksotik, 7 years ago

Yes, network input required to reproduce this issue. I was checked it with file input - no memory leak in this case.

comment:4 by Carl Eugen Hoyos, 7 years ago

Please provide valgrind output which is needed for leak reports.

comment:5 by ksotik, 7 years ago

# valgrind --tool=memcheck --leak-check=full --show-leak-kinds=all -v /usr/local/bin/ffmpeg -re -i "udp://@239.126.126.3:1300?fifo_size=5000000&overrun_nonfatal_option=1" -nostdin -threads 0 -acodec copy -vcodec copy -sn -flags -global_header -hls_time 5 -hls_list_size 5 -hls_flags second_level_segment_index+second_level_segment_size+second_level_segment_duration+delete_segments+discont_start -use_localtime 1 -start_number 1 -hls_segment_filename /opt/data/hls/stream/ch1_%Y%m%d%H%M%S_%%03d_%%08s_%%08t.ts /opt/data/hls/stream/playlist.m3u8
==9469== Memcheck, a memory error detector
==9469== Copyright (C) 2002-2013, and GNU GPL'd, by Julian Seward et al.
==9469== Using Valgrind-3.10.0 and LibVEX; rerun with -h for copyright info
==9469== Command: /usr/local/bin/ffmpeg -re -i udp://@239.126.126.3:1300?fifo_size=5000000&overrun_nonfatal_option=1 -nostdin -threads 0 -acodec copy -vcodec copy -sn -flags -global_header -hls_time 5 -hls_list_size 5 -hls_flags second_level_segment_index+second_level_segment_size+second_level_segment_duration+delete_segments+discont_start -use_localtime 1 -start_number 1 -hls_segment_filename /opt/data/hls/stream/ch1_%Y%m%d%H%M%S_%%03d_%%08s_%%08t.ts /opt/data/hls/stream/playlist.m3u8
==9469==
--9469-- Valgrind options:
--9469--    --tool=memcheck
--9469--    --leak-check=full
--9469--    --show-leak-kinds=all
--9469--    -v
--9469-- Contents of /proc/version:
--9469--   Linux version 3.16.0-4-amd64 (debian-kernel@lists.debian.org) (gcc version 4.8.4 (Debian 4.8.4-1) ) #1 SMP Debian 3.16.36-1+deb8u2 (2016-10-19)
--9469-- Arch and hwcaps: AMD64, LittleEndian, amd64-cx16-lzcnt-rdtscp-sse3-avx-avx2-bmi
--9469-- Page sizes: currently 4096, max supported 4096
--9469-- Valgrind library directory: /usr/lib/valgrind
--9469-- Reading syms from /usr/local/bin/ffmpeg
--9469--    object doesn't have a symbol table
--9469-- Reading syms from /lib/x86_64-linux-gnu/ld-2.19.so
--9469--   Considering /lib/x86_64-linux-gnu/ld-2.19.so ..
--9469--   .. CRC mismatch (computed 7344611e wanted f41c2786)
--9469--   Considering /usr/lib/debug/lib/x86_64-linux-gnu/ld-2.19.so ..
--9469--   .. CRC is valid
--9469-- Reading syms from /usr/lib/valgrind/memcheck-amd64-linux
--9469--   Considering /usr/lib/valgrind/memcheck-amd64-linux ..
--9469--   .. CRC mismatch (computed 948bf0bc wanted d423983b)
--9469--   Considering /usr/lib/debug/usr/lib/valgrind/memcheck-amd64-linux ..
--9469--   .. CRC is valid
--9469--    object doesn't have a dynamic symbol table
--9469-- Scheduler: using generic scheduler lock implementation.
--9469-- Reading suppressions file: /usr/lib/valgrind/default.supp
==9469== embedded gdbserver: reading from /tmp/vgdb-pipe-from-vgdb-to-9469-by-root-on-???
==9469== embedded gdbserver: writing to   /tmp/vgdb-pipe-to-vgdb-from-9469-by-root-on-???
==9469== embedded gdbserver: shared mem   /tmp/vgdb-pipe-shared-mem-vgdb-9469-by-root-on-???
==9469==
==9469== TO CONTROL THIS PROCESS USING vgdb (which you probably
==9469== don't want to do, unless you know exactly what you're doing,
==9469== or are doing some strange experiment):
==9469==   /usr/lib/valgrind/../../bin/vgdb --pid=9469 ...command...
==9469==
==9469== TO DEBUG THIS PROCESS USING GDB: start GDB like this
==9469==   /path/to/gdb /usr/local/bin/ffmpeg
==9469== and then give GDB the following command
==9469==   target remote | /usr/lib/valgrind/../../bin/vgdb --pid=9469
==9469== --pid is optional if only one valgrind process is running
==9469==
--9469-- REDIR: 0x4017920 (ld-linux-x86-64.so.2:strlen) redirected to 0x380bd821 (vgPlain_amd64_linux_REDIR_FOR_strlen)
--9469-- Reading syms from /usr/lib/valgrind/vgpreload_core-amd64-linux.so
--9469--   Considering /usr/lib/valgrind/vgpreload_core-amd64-linux.so ..
--9469--   .. CRC mismatch (computed 9771ef88 wanted e8eb00cf)
--9469--   Considering /usr/lib/debug/usr/lib/valgrind/vgpreload_core-amd64-linux.so ..
--9469--   .. CRC is valid
--9469-- Reading syms from /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so
--9469--   Considering /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so ..
--9469--   .. CRC mismatch (computed c7f6cf2f wanted fb419f04)
--9469--   Considering /usr/lib/debug/usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so ..
--9469--   .. CRC is valid
==9469== WARNING: new redirection conflicts with existing -- ignoring it
--9469--     old: 0x04017920 (strlen              ) R-> (0000.0) 0x380bd821 vgPlain_amd64_linux_REDIR_FOR_strlen
--9469--     new: 0x04017920 (strlen              ) R-> (2007.0) 0x04c2c260 strlen
--9469-- REDIR: 0x40176d0 (ld-linux-x86-64.so.2:index) redirected to 0x4c2be10 (index)
--9469-- REDIR: 0x40178f0 (ld-linux-x86-64.so.2:strcmp) redirected to 0x4c2d310 (strcmp)
--9469-- REDIR: 0x4018620 (ld-linux-x86-64.so.2:mempcpy) redirected to 0x4c2fe60 (mempcpy)
--9469-- Reading syms from /lib/x86_64-linux-gnu/libdl-2.19.so
--9469--   Considering /lib/x86_64-linux-gnu/libdl-2.19.so ..
--9469--   .. CRC mismatch (computed b45adfc1 wanted 703c0b45)
--9469--   Considering /usr/lib/debug/lib/x86_64-linux-gnu/libdl-2.19.so ..
--9469--   .. CRC is valid
--9469-- Reading syms from /usr/lib/x86_64-linux-gnu/libvdpau.so.1.0.0
--9469--    object doesn't have a symbol table
--9469-- Reading syms from /usr/lib/x86_64-linux-gnu/libX11.so.6.3.0
--9469--   Considering /usr/lib/x86_64-linux-gnu/libX11.so.6.3.0 ..
--9469--   .. CRC mismatch (computed 087c2072 wanted 380c360a)
--9469--    object doesn't have a symbol table
--9469-- Reading syms from /usr/lib/x86_64-linux-gnu/libva.so.1.3600.0
--9469--    object doesn't have a symbol table
--9469-- Reading syms from /usr/lib/x86_64-linux-gnu/libva-x11.so.1.3600.0
--9469--    object doesn't have a symbol table
--9469-- Reading syms from /usr/lib/x86_64-linux-gnu/libva-drm.so.1.3600.0
--9469--    object doesn't have a symbol table
--9469-- Reading syms from /usr/lib/x86_64-linux-gnu/libxcb.so.1.1.0
--9469--    object doesn't have a symbol table
--9469-- Reading syms from /usr/lib/x86_64-linux-gnu/libxcb-shm.so.0.0.0
--9469--    object doesn't have a symbol table
--9469-- Reading syms from /usr/lib/x86_64-linux-gnu/libxcb-xfixes.so.0.0.0
--9469--    object doesn't have a symbol table
--9469-- Reading syms from /usr/lib/x86_64-linux-gnu/libxcb-shape.so.0.0.0
--9469--    object doesn't have a symbol table
--9469-- Reading syms from /usr/lib/x86_64-linux-gnu/libasound.so.2.0.0
--9469--    object doesn't have a symbol table
--9469-- Reading syms from /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.20
--9469--   Considering /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.20 ..
--9469--   .. CRC mismatch (computed f6d204a2 wanted d62b96d7)
--9469--    object doesn't have a symbol table
--9469-- Reading syms from /lib/x86_64-linux-gnu/libm-2.19.so
--9469--   Considering /lib/x86_64-linux-gnu/libm-2.19.so ..
--9469--   .. CRC mismatch (computed b34e2f42 wanted cd531c90)
--9469--   Considering /usr/lib/debug/lib/x86_64-linux-gnu/libm-2.19.so ..
--9469--   .. CRC is valid
--9469-- Reading syms from /lib/x86_64-linux-gnu/librt-2.19.so
--9469--   Considering /lib/x86_64-linux-gnu/librt-2.19.so ..
--9469--   .. CRC mismatch (computed 0a845a34 wanted e9b549b6)
--9469--   Considering /usr/lib/debug/lib/x86_64-linux-gnu/librt-2.19.so ..
--9469--   .. CRC is valid
--9469-- Reading syms from /lib/x86_64-linux-gnu/libpthread-2.19.so
--9469--   Considering /lib/x86_64-linux-gnu/libpthread-2.19.so ..
--9469--   .. CRC mismatch (computed 8e1fae0f wanted 27ac05c0)
--9469--   Considering /usr/lib/debug/lib/x86_64-linux-gnu/libpthread-2.19.so ..
--9469--   .. CRC is valid
--9469-- Reading syms from /usr/lib/x86_64-linux-gnu/libvorbisenc.so.2.0.10
--9469--    object doesn't have a symbol table
--9469-- Reading syms from /usr/lib/x86_64-linux-gnu/libvorbis.so.0.4.7
--9469--    object doesn't have a symbol table
--9469-- Reading syms from /usr/lib/x86_64-linux-gnu/libtheoraenc.so.1.1.2
--9469--    object doesn't have a symbol table
--9469-- Reading syms from /usr/lib/x86_64-linux-gnu/libtheoradec.so.1.1.4
--9469--    object doesn't have a symbol table
--9469-- Reading syms from /usr/lib/x86_64-linux-gnu/libfreetype.so.6.11.1
--9469--    object doesn't have a symbol table
--9469-- Reading syms from /lib/x86_64-linux-gnu/libz.so.1.2.8
--9469--    object doesn't have a symbol table
--9469-- Reading syms from /lib/x86_64-linux-gnu/libc-2.19.so
--9469--   Considering /lib/x86_64-linux-gnu/libc-2.19.so ..
--9469--   .. CRC mismatch (computed cd8269aa wanted 8318c513)
--9469--   Considering /usr/lib/debug/lib/x86_64-linux-gnu/libc-2.19.so ..
--9469--   .. CRC is valid
--9469-- Reading syms from /usr/lib/x86_64-linux-gnu/libXext.so.6.4.0
--9469--   Considering /usr/lib/x86_64-linux-gnu/libXext.so.6.4.0 ..
--9469--   .. CRC mismatch (computed c41f0f1a wanted 62edb78a)
--9469--    object doesn't have a symbol table
--9469-- Reading syms from /usr/lib/x86_64-linux-gnu/libXfixes.so.3.1.0
--9469--    object doesn't have a symbol table
--9469-- Reading syms from /usr/lib/x86_64-linux-gnu/libdrm.so.2.4.0
--9469--    object doesn't have a symbol table
--9469-- Reading syms from /usr/lib/x86_64-linux-gnu/libXau.so.6.0.0
--9469--   Considering /usr/lib/x86_64-linux-gnu/libXau.so.6.0.0 ..
--9469--   .. CRC mismatch (computed e6f65f93 wanted d18cd8e8)
--9469--    object doesn't have a symbol table
--9469-- Reading syms from /usr/lib/x86_64-linux-gnu/libXdmcp.so.6.0.0
--9469--   Considering /usr/lib/x86_64-linux-gnu/libXdmcp.so.6.0.0 ..
--9469--   .. CRC mismatch (computed 080b6ce7 wanted 548bbf8f)
--9469--    object doesn't have a symbol table
--9469-- Reading syms from /lib/x86_64-linux-gnu/libgcc_s.so.1
--9469--   Considering /lib/x86_64-linux-gnu/libgcc_s.so.1 ..
--9469--   .. CRC mismatch (computed e1528828 wanted 15fbad25)
--9469--    object doesn't have a symbol table
--9469-- Reading syms from /usr/lib/x86_64-linux-gnu/libogg.so.0.8.2
--9469--   Considering /usr/lib/x86_64-linux-gnu/libogg.so.0.8.2 ..
--9469--   .. CRC mismatch (computed ac481d9c wanted 6c4c8029)
--9469--    object doesn't have a symbol table
--9469-- Reading syms from /lib/x86_64-linux-gnu/libpng12.so.0.50.0
--9469--    object doesn't have a symbol table
--9469-- REDIR: 0x7f7ddc0 (libc.so.6:strcasecmp) redirected to 0x4a23730 (_vgnU_ifunc_wrapper)
--9469-- REDIR: 0x7f800b0 (libc.so.6:strncasecmp) redirected to 0x4a23730 (_vgnU_ifunc_wrapper)
--9469-- REDIR: 0x7f7d590 (libc.so.6:memcpy@GLIBC_2.2.5) redirected to 0x4a23730 (_vgnU_ifunc_wrapper)
--9469-- REDIR: 0x7f7cfb0 (libc.so.6:bcmp) redirected to 0x4a23730 (_vgnU_ifunc_wrapper)
--9469-- REDIR: 0x7f82790 (libc.so.6:memcpy@@GLIBC_2.14) redirected to 0x4a23730 (_vgnU_ifunc_wrapper)
--9469-- REDIR: 0x7f7b910 (libc.so.6:rindex) redirected to 0x4c2baf0 (rindex)
--9469-- REDIR: 0x7f77f70 (libc.so.6:index) redirected to 0x4a23730 (_vgnU_ifunc_wrapper)
--9469-- REDIR: 0x7f77fa0 (libc.so.6:__GI_strchr) redirected to 0x4c2bc50 (__GI_strchr)
--9469-- REDIR: 0x7f79c10 (libc.so.6:strlen) redirected to 0x4c2c1a0 (strlen)
--9469-- REDIR: 0x7f7a030 (libc.so.6:strncmp) redirected to 0x4a23730 (_vgnU_ifunc_wrapper)
--9469-- REDIR: 0x80176c0 (libc.so.6:__strncmp_sse42) redirected to 0x4c2ca30 (__strncmp_sse42)
--9469-- REDIR: 0x7f781c0 (libc.so.6:strcmp) redirected to 0x4a23730 (_vgnU_ifunc_wrapper)
--9469-- REDIR: 0x7f89d70 (libc.so.6:__strcmp_sse2_unaligned) redirected to 0x4c2d1d0 (strcmp)
--9469-- REDIR: 0x7f74930 (libc.so.6:calloc) redirected to 0x4c2ac90 (calloc)
--9469-- REDIR: 0x7f73fc0 (libc.so.6:malloc) redirected to 0x4c28bb0 (malloc)
--9469-- REDIR: 0x7f74600 (libc.so.6:free) redirected to 0x4c29e20 (free)
--9469-- REDIR: 0x7f84750 (libc.so.6:strchrnul) redirected to 0x4c2fa80 (strchrnul)
--9469-- REDIR: 0x7f79650 (libc.so.6:strcpy) redirected to 0x4a23730 (_vgnU_ifunc_wrapper)
--9469-- REDIR: 0x7f8ebe0 (libc.so.6:__strcpy_sse2_unaligned) redirected to 0x4c2c280 (strcpy)
--9469-- REDIR: 0x7f7a080 (libc.so.6:__GI_strncmp) redirected to 0x4c2c950 (__GI_strncmp)
--9469-- REDIR: 0x7f7ca20 (libc.so.6:strstr) redirected to 0x4a23730 (_vgnU_ifunc_wrapper)
--9469-- REDIR: 0x7f93280 (libc.so.6:__strstr_sse2_unaligned) redirected to 0x4c30050 (strstr)
ffmpeg version N-85590-g8707147 Copyright (c) 2000-2017 the FFmpeg developers
  built with gcc 4.9.2 (Debian 4.9.2-10)
  configuration: --pkg-config-flags=--static --enable-gpl --enable-libfdk-aac --enable-libfreetype --enable-libmp3lame --enable-libopus --enable-libtheora --enable-libvorbis --enable-libvpx --enable-libx264 --enable-libx265 --enable-nonfree
  libavutil      55. 61.100 / 55. 61.100
  libavcodec     57. 93.100 / 57. 93.100
  libavformat    57. 72.101 / 57. 72.101
  libavdevice    57.  7.100 / 57.  7.100
  libavfilter     6. 84.101 /  6. 84.101
  libswscale      4.  7.101 /  4.  7.101
  libswresample   2.  8.100 /  2.  8.100
  libpostproc    54.  6.100 / 54.  6.100
--9469-- REDIR: 0x7f75f80 (libc.so.6:posix_memalign) redirected to 0x4c2b2a0 (posix_memalign)
--9469-- REDIR: 0x7f7d620 (libc.so.6:memset) redirected to 0x4c2f3f0 (memset)
--9469-- REDIR: 0x7f74690 (libc.so.6:realloc) redirected to 0x4c2aeb0 (realloc)
--9469-- REDIR: 0x7f8a020 (libc.so.6:__memcpy_sse2_unaligned) redirected to 0x4c2d6f0 (memcpy@@GLIBC_2.14)
--9469-- REDIR: 0x7f7bf80 (libc.so.6:strspn) redirected to 0x4a23730 (_vgnU_ifunc_wrapper)
--9469-- REDIR: 0x801c480 (libc.so.6:__strspn_sse42) redirected to 0x4c302d0 (strspn)
==9469== Warning: set address range perms: large range [0x3a04c080, 0x720c0380) (undefined)
--9469-- REDIR: 0xffffffffff600000 (???:???) redirected to 0x380bd803 (vgPlain_amd64_linux_REDIR_FOR_vgettimeofday)
--9469-- REDIR: 0x803f420 (libc.so.6:__memcmp_sse4_1) redirected to 0x4c2ed20 (__memcmp_sse4_1)
--9469-- REDIR: 0x7f84540 (libc.so.6:rawmemchr) redirected to 0x4c2fab0 (rawmemchr)
[h264 @ 0x9361da0] SPS unavailable in decode_picture_timing
[h264 @ 0x9361da0] non-existing PPS 0 referenced
[h264 @ 0x9361da0] SPS unavailable in decode_picture_timing
[h264 @ 0x9361da0] non-existing PPS 0 referenced
[h264 @ 0x9361da0] decode_slice_header error
[h264 @ 0x9361da0] no frame!
[h264 @ 0x9361da0] SPS unavailable in decode_picture_timing
[h264 @ 0x9361da0] non-existing PPS 0 referenced
[h264 @ 0x9361da0] SPS unavailable in decode_picture_timing
[h264 @ 0x9361da0] non-existing PPS 0 referenced
[h264 @ 0x9361da0] decode_slice_header error
[h264 @ 0x9361da0] no frame!
[h264 @ 0x9361da0] SPS unavailable in decode_picture_timing
[h264 @ 0x9361da0] non-existing PPS 0 referenced
[h264 @ 0x9361da0] SPS unavailable in decode_picture_timing
[h264 @ 0x9361da0] non-existing PPS 0 referenced
[h264 @ 0x9361da0] decode_slice_header error
[h264 @ 0x9361da0] no frame!
[h264 @ 0x9361da0] SPS unavailable in decode_picture_timing
[h264 @ 0x9361da0] non-existing PPS 0 referenced
[h264 @ 0x9361da0] SPS unavailable in decode_picture_timing
[h264 @ 0x9361da0] non-existing PPS 0 referenced
[h264 @ 0x9361da0] decode_slice_header error
[h264 @ 0x9361da0] no frame!
[h264 @ 0x9361da0] SPS unavailable in decode_picture_timing
[h264 @ 0x9361da0] non-existing PPS 0 referenced
[h264 @ 0x9361da0] SPS unavailable in decode_picture_timing
[h264 @ 0x9361da0] non-existing PPS 0 referenced
[h264 @ 0x9361da0] decode_slice_header error
[h264 @ 0x9361da0] no frame!
[h264 @ 0x9361da0] SPS unavailable in decode_picture_timing
[h264 @ 0x9361da0] non-existing PPS 0 referenced
[h264 @ 0x9361da0] SPS unavailable in decode_picture_timing
[h264 @ 0x9361da0] non-existing PPS 0 referenced
[h264 @ 0x9361da0] decode_slice_header error
[h264 @ 0x9361da0] no frame!
Input #0, mpegts, from 'udp://@239.126.126.3:1300?fifo_size=5000000&overrun_nonfatal_option=1':
  Duration: N/A, start: 79173.248167, bitrate: N/A
  Program 1
    Metadata:
      service_name    : --9469-- REDIR: 0x7f79770 (libc.so.6:strcspn) redirected to 0x4a23730 (_vgnU_ifunc_wrapper)
--9469-- REDIR: 0x801c220 (libc.so.6:__strcspn_sse42) redirected to 0x4c30260 (strcspn)
Muzshkoy
      service_provider: VideoTranscoder
    Stream #0:0[0x100](rus): Audio: aac (LC) ([15][0][0][0] / 0x000F), 48000 Hz, stereo, fltp, 182 kb/s
    Stream #0:1[0x101]: Video: h264 (High) ([27][0][0][0] / 0x001B), yuv420p(top first), 720x576 [SAR 16:15 DAR 4:3], --9469-- REDIR: 0x7f827e0 (libc.so.6:__GI_memcpy) redirected to 0x4c2dd10 (__GI_memcpy)
25 fps, 25 tbr, 90k tbn, 50 tbc
--9469-- REDIR: 0xffffffffff600400 (???:???) redirected to 0x380bd80d (vgPlain_amd64_linux_REDIR_FOR_vtime)
--9469-- REDIR: 0x7f7c560 (libc.so.6:__GI_strstr) redirected to 0x4c300e0 (__strstr_sse2)
--9469-- REDIR: 0x7f7cff0 (libc.so.6:__GI_memcmp) redirected to 0x4c2eca0 (__GI_memcmp)
--9469-- REDIR: 0x7f79690 (libc.so.6:__GI_strcpy) redirected to 0x4c2c350 (__GI_strcpy)
--9469-- REDIR: 0x7f78200 (libc.so.6:__GI_strcmp) redirected to 0x4c2d220 (__GI_strcmp)
Output #0, hls, to '/opt/data/hls/stream/playlist.m3u8':
  Metadata:
    encoder         : Lavf57.72.101
    Stream #0:0: Video: h264 (High) ([27][0][0][0] / 0x001B), yuv420p(top first), 720x576 [SAR 16:15 DAR 4:3], q=2-31, 25 fps, 25 tbr, 90k tbn, 25 tbc
    Stream #0:1(rus): Audio: aac (LC) ([15][0][0][0] / 0x000F), 48000 Hz, stereo, fltp, 182 kb/s
Stream mapping:
  Stream #0:1 -> #0:0 (copy)
  Stream #0:0 -> #0:1 (copy)
--9469-- REDIR: 0x802f450 (libc.so.6:__memmove_ssse3_back) redirected to 0x4c2d470 (memcpy@GLIBC_2.2.5)
^Cframe=35524 fps= 25 q=-1.0 Lsize=N/A time=00:23:41.31 bitrate=N/A speed=   1x
video:154010kB audio:33313kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: unknown
==9469== Warning: set address range perms: large range [0x3a04c068, 0x720c0398) (noaccess)
Exiting normally, received signal 2.
==9469==
==9469== HEAP SUMMARY:
==9469==     in use at exit: 18,534 bytes in 286 blocks
==9469==   total heap usage: 1,486,108 allocs, 1,485,822 frees, 9,152,985,212 bytes allocated
==9469==
==9469== Searching for pointers to 286 not-freed blocks
==9469== Checked 10,243,952 bytes
==9469==
==9469== 32 bytes in 1 blocks are still reachable in loss record 1 of 3
==9469==    at 0x4C2AD10: calloc (vg_replace_malloc.c:623)
==9469==    by 0x4E3663F: _dlerror_run (dlerror.c:141)
==9469==    by 0x4E360C0: dlopen@@GLIBC_2.2.5 (dlopen.c:87)
==9469==    by 0x1002D0C: ??? (in /usr/local/bin/ffmpeg)
==9469==    by 0x43891F: ??? (in /usr/local/bin/ffmpeg)
==9469==    by 0x74C0B3: ??? (in /usr/local/bin/ffmpeg)
==9469==    by 0x6EEA40F: pthread_once (pthread_once.S:103)
==9469==    by 0x485E19: ??? (in /usr/local/bin/ffmpeg)
==9469==    by 0x7F19B44: (below main) (libc-start.c:287)
==9469==
==9469== 42 bytes in 1 blocks are still reachable in loss record 2 of 3
==9469==    at 0x4C28C20: malloc (vg_replace_malloc.c:296)
==9469==    by 0x400E640: _dl_signal_error (dl-error.c:90)
==9469==    by 0x4012601: _dl_open (dl-open.c:715)
==9469==    by 0x4E3602A: dlopen_doit (dlopen.c:66)
==9469==    by 0x400E873: _dl_catch_error (dl-error.c:187)
==9469==    by 0x4E365DC: _dlerror_run (dlerror.c:163)
==9469==    by 0x4E360C0: dlopen@@GLIBC_2.2.5 (dlopen.c:87)
==9469==    by 0x1002DA0: ??? (in /usr/local/bin/ffmpeg)
==9469==    by 0x438938: ??? (in /usr/local/bin/ffmpeg)
==9469==    by 0x74C0B3: ??? (in /usr/local/bin/ffmpeg)
==9469==    by 0x6EEA40F: pthread_once (pthread_once.S:103)
==9469==    by 0x485E19: ??? (in /usr/local/bin/ffmpeg)
==9469==
==9469== 18,460 bytes in 284 blocks are definitely lost in loss record 3 of 3
==9469==    at 0x4C28C20: malloc (vg_replace_malloc.c:296)
==9469==    by 0x4C2AFCF: realloc (vg_replace_malloc.c:692)
==9469==    by 0xFE42FB: ??? (in /usr/local/bin/ffmpeg)
==9469==    by 0x63A28A: ??? (in /usr/local/bin/ffmpeg)
==9469==    by 0x696679: ??? (in /usr/local/bin/ffmpeg)
==9469==    by 0x49DF29: ??? (in /usr/local/bin/ffmpeg)
==9469==    by 0x4A670A: ??? (in /usr/local/bin/ffmpeg)
==9469==    by 0x486C86: ??? (in /usr/local/bin/ffmpeg)
==9469==    by 0x7F19B44: (below main) (libc-start.c:287)
==9469==
==9469== LEAK SUMMARY:
==9469==    definitely lost: 18,460 bytes in 284 blocks
==9469==    indirectly lost: 0 bytes in 0 blocks
==9469==      possibly lost: 0 bytes in 0 blocks
==9469==    still reachable: 74 bytes in 2 blocks
==9469==         suppressed: 0 bytes in 0 blocks
==9469==
==9469== ERROR SUMMARY: 1 errors from 1 contexts (suppressed: 0 from 0)
==9469== ERROR SUMMARY: 1 errors from 1 contexts (suppressed: 0 from 0)

in reply to:  5 comment:6 by Carl Eugen Hoyos, 7 years ago

Replying to ksotik:

==9469== 18,460 bytes in 284 blocks are definitely lost in loss record 3 of 3
==9469==    at 0x4C28C20: malloc (vg_replace_malloc.c:296)
==9469==    by 0x4C2AFCF: realloc (vg_replace_malloc.c:692)
==9469==    by 0xFE42FB: ??? (in /usr/local/bin/ffmpeg)
==9469==    by 0x63A28A: ??? (in /usr/local/bin/ffmpeg)
==9469==    by 0x696679: ??? (in /usr/local/bin/ffmpeg)
==9469==    by 0x49DF29: ??? (in /usr/local/bin/ffmpeg)
==9469==    by 0x4A670A: ??? (in /usr/local/bin/ffmpeg)
==9469==    by 0x486C86: ??? (in /usr/local/bin/ffmpeg)
==9469==    by 0x7F19B44: (below main) (libc-start.c:287)

Please use the ffmpeg_g binary with debug symbols or configure with --disable-stripping to get useful valgrind output.

comment:7 by ksotik, 7 years ago

done:

# valgrind --tool=memcheck --leak-check=full --show-leak-kinds=all -v ./ffmpeg_g -re -i "udp://@239.126.126.3:1300?fifo_size=5000000&overrun_nonfatal_option=1" -nostdin -threads 0 -acodec copy -vcodec copy -sn -flags -global_header -hls_time 5 -hls_list_size 5 -hls_flags second_level_segment_index+second_level_segment_size+second_level_segment_duration+delete_segments+discont_start -use_localtime 1 -start_number 1 -hls_segment_filename /opt/data/hls/stream/ch1_%Y%m%d%H%M%S_%%03d_%%08s_%%08t.ts /opt/data/hls/stream/playlist.m3u8
==4467== Memcheck, a memory error detector
==4467== Copyright (C) 2002-2013, and GNU GPL'd, by Julian Seward et al.
==4467== Using Valgrind-3.10.0 and LibVEX; rerun with -h for copyright info
==4467== Command: ./ffmpeg_g -re -i udp://@239.126.126.3:1300?fifo_size=5000000&overrun_nonfatal_option=1 -nostdin -threads 0 -acodec copy -vcodec copy -sn -flags -global_header -hls_time 5 -hls_list_size 5 -hls_flags second_level_segment_index+second_level_segment_size+second_level_segment_duration+delete_segments+discont_start -use_localtime 1 -start_number 1 -hls_segment_filename /opt/data/hls/stream/ch1_%Y%m%d%H%M%S_%%03d_%%08s_%%08t.ts /opt/data/hls/stream/playlist.m3u8
==4467==
--4467-- Valgrind options:
--4467--    --tool=memcheck
--4467--    --leak-check=full
--4467--    --show-leak-kinds=all
--4467--    -v
--4467-- Contents of /proc/version:
--4467--   Linux version 3.16.0-4-amd64 (debian-kernel@lists.debian.org) (gcc version 4.8.4 (Debian 4.8.4-1) ) #1 SMP Debian 3.16.36-1+deb8u2 (2016-10-19)
--4467-- Arch and hwcaps: AMD64, LittleEndian, amd64-cx16-lzcnt-rdtscp-sse3-avx-avx2-bmi
--4467-- Page sizes: currently 4096, max supported 4096
--4467-- Valgrind library directory: /usr/lib/valgrind
--4467-- Reading syms from /home/ksotik/install/ffmpeg/ffmpeg/ffmpeg_g
--4467-- Reading syms from /lib/x86_64-linux-gnu/ld-2.19.so
--4467--   Considering /lib/x86_64-linux-gnu/ld-2.19.so ..
--4467--   .. CRC mismatch (computed 7344611e wanted f41c2786)
--4467--   Considering /usr/lib/debug/lib/x86_64-linux-gnu/ld-2.19.so ..
--4467--   .. CRC is valid
--4467-- Reading syms from /usr/lib/valgrind/memcheck-amd64-linux
--4467--   Considering /usr/lib/valgrind/memcheck-amd64-linux ..
--4467--   .. CRC mismatch (computed 948bf0bc wanted d423983b)
--4467--   Considering /usr/lib/debug/usr/lib/valgrind/memcheck-amd64-linux ..
--4467--   .. CRC is valid
--4467--    object doesn't have a dynamic symbol table
--4467-- Scheduler: using generic scheduler lock implementation.
--4467-- Reading suppressions file: /usr/lib/valgrind/default.supp
==4467== embedded gdbserver: reading from /tmp/vgdb-pipe-from-vgdb-to-4467-by-root-on-???
==4467== embedded gdbserver: writing to   /tmp/vgdb-pipe-to-vgdb-from-4467-by-root-on-???
==4467== embedded gdbserver: shared mem   /tmp/vgdb-pipe-shared-mem-vgdb-4467-by-root-on-???
==4467==
==4467== TO CONTROL THIS PROCESS USING vgdb (which you probably
==4467== don't want to do, unless you know exactly what you're doing,
==4467== or are doing some strange experiment):
==4467==   /usr/lib/valgrind/../../bin/vgdb --pid=4467 ...command...
==4467==
==4467== TO DEBUG THIS PROCESS USING GDB: start GDB like this
==4467==   /path/to/gdb ./ffmpeg_g
==4467== and then give GDB the following command
==4467==   target remote | /usr/lib/valgrind/../../bin/vgdb --pid=4467
==4467== --pid is optional if only one valgrind process is running
==4467==
--4467-- REDIR: 0x4017920 (ld-linux-x86-64.so.2:strlen) redirected to 0x380bd821 (vgPlain_amd64_linux_REDIR_FOR_strlen)
--4467-- Reading syms from /usr/lib/valgrind/vgpreload_core-amd64-linux.so
--4467--   Considering /usr/lib/valgrind/vgpreload_core-amd64-linux.so ..
--4467--   .. CRC mismatch (computed 9771ef88 wanted e8eb00cf)
--4467--   Considering /usr/lib/debug/usr/lib/valgrind/vgpreload_core-amd64-linux.so ..
--4467--   .. CRC is valid
--4467-- Reading syms from /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so
--4467--   Considering /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so ..
--4467--   .. CRC mismatch (computed c7f6cf2f wanted fb419f04)
--4467--   Considering /usr/lib/debug/usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so ..
--4467--   .. CRC is valid
==4467== WARNING: new redirection conflicts with existing -- ignoring it
--4467--     old: 0x04017920 (strlen              ) R-> (0000.0) 0x380bd821 vgPlain_amd64_linux_REDIR_FOR_strlen
--4467--     new: 0x04017920 (strlen              ) R-> (2007.0) 0x04c2c260 strlen
--4467-- REDIR: 0x40176d0 (ld-linux-x86-64.so.2:index) redirected to 0x4c2be10 (index)
--4467-- REDIR: 0x40178f0 (ld-linux-x86-64.so.2:strcmp) redirected to 0x4c2d310 (strcmp)
--4467-- REDIR: 0x4018620 (ld-linux-x86-64.so.2:mempcpy) redirected to 0x4c2fe60 (mempcpy)
--4467-- Reading syms from /lib/x86_64-linux-gnu/libdl-2.19.so
--4467--   Considering /lib/x86_64-linux-gnu/libdl-2.19.so ..
--4467--   .. CRC mismatch (computed b45adfc1 wanted 703c0b45)
--4467--   Considering /usr/lib/debug/lib/x86_64-linux-gnu/libdl-2.19.so ..
--4467--   .. CRC is valid
--4467-- Reading syms from /usr/lib/x86_64-linux-gnu/libvdpau.so.1.0.0
--4467--    object doesn't have a symbol table
--4467-- Reading syms from /usr/lib/x86_64-linux-gnu/libX11.so.6.3.0
--4467--   Considering /usr/lib/x86_64-linux-gnu/libX11.so.6.3.0 ..
--4467--   .. CRC mismatch (computed 087c2072 wanted 380c360a)
--4467--    object doesn't have a symbol table
--4467-- Reading syms from /usr/lib/x86_64-linux-gnu/libva.so.1.3600.0
--4467--    object doesn't have a symbol table
--4467-- Reading syms from /usr/lib/x86_64-linux-gnu/libva-x11.so.1.3600.0
--4467--    object doesn't have a symbol table
--4467-- Reading syms from /usr/lib/x86_64-linux-gnu/libva-drm.so.1.3600.0
--4467--    object doesn't have a symbol table
--4467-- Reading syms from /usr/lib/x86_64-linux-gnu/libxcb.so.1.1.0
--4467--    object doesn't have a symbol table
--4467-- Reading syms from /usr/lib/x86_64-linux-gnu/libxcb-shm.so.0.0.0
--4467--    object doesn't have a symbol table
--4467-- Reading syms from /usr/lib/x86_64-linux-gnu/libxcb-xfixes.so.0.0.0
--4467--    object doesn't have a symbol table
--4467-- Reading syms from /usr/lib/x86_64-linux-gnu/libxcb-shape.so.0.0.0
--4467--    object doesn't have a symbol table
--4467-- Reading syms from /usr/lib/x86_64-linux-gnu/libasound.so.2.0.0
--4467--    object doesn't have a symbol table
--4467-- Reading syms from /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.20
--4467--   Considering /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.20 ..
--4467--   .. CRC mismatch (computed f6d204a2 wanted d62b96d7)
--4467--    object doesn't have a symbol table
--4467-- Reading syms from /lib/x86_64-linux-gnu/libm-2.19.so
--4467--   Considering /lib/x86_64-linux-gnu/libm-2.19.so ..
--4467--   .. CRC mismatch (computed b34e2f42 wanted cd531c90)
--4467--   Considering /usr/lib/debug/lib/x86_64-linux-gnu/libm-2.19.so ..
--4467--   .. CRC is valid
--4467-- Reading syms from /lib/x86_64-linux-gnu/librt-2.19.so
--4467--   Considering /lib/x86_64-linux-gnu/librt-2.19.so ..
--4467--   .. CRC mismatch (computed 0a845a34 wanted e9b549b6)
--4467--   Considering /usr/lib/debug/lib/x86_64-linux-gnu/librt-2.19.so ..
--4467--   .. CRC is valid
--4467-- Reading syms from /lib/x86_64-linux-gnu/libpthread-2.19.so
--4467--   Considering /lib/x86_64-linux-gnu/libpthread-2.19.so ..
--4467--   .. CRC mismatch (computed 8e1fae0f wanted 27ac05c0)
--4467--   Considering /usr/lib/debug/lib/x86_64-linux-gnu/libpthread-2.19.so ..
--4467--   .. CRC is valid
--4467-- Reading syms from /usr/lib/x86_64-linux-gnu/libvorbisenc.so.2.0.10
--4467--    object doesn't have a symbol table
--4467-- Reading syms from /usr/lib/x86_64-linux-gnu/libvorbis.so.0.4.7
--4467--    object doesn't have a symbol table
--4467-- Reading syms from /usr/lib/x86_64-linux-gnu/libtheoraenc.so.1.1.2
--4467--    object doesn't have a symbol table
--4467-- Reading syms from /usr/lib/x86_64-linux-gnu/libtheoradec.so.1.1.4
--4467--    object doesn't have a symbol table
--4467-- Reading syms from /usr/lib/x86_64-linux-gnu/libfreetype.so.6.11.1
--4467--    object doesn't have a symbol table
--4467-- Reading syms from /lib/x86_64-linux-gnu/libz.so.1.2.8
--4467--    object doesn't have a symbol table
--4467-- Reading syms from /lib/x86_64-linux-gnu/libc-2.19.so
--4467--   Considering /lib/x86_64-linux-gnu/libc-2.19.so ..
--4467--   .. CRC mismatch (computed cd8269aa wanted 8318c513)
--4467--   Considering /usr/lib/debug/lib/x86_64-linux-gnu/libc-2.19.so ..
--4467--   .. CRC is valid
--4467-- Reading syms from /usr/lib/x86_64-linux-gnu/libXext.so.6.4.0
--4467--   Considering /usr/lib/x86_64-linux-gnu/libXext.so.6.4.0 ..
--4467--   .. CRC mismatch (computed c41f0f1a wanted 62edb78a)
--4467--    object doesn't have a symbol table
--4467-- Reading syms from /usr/lib/x86_64-linux-gnu/libXfixes.so.3.1.0
--4467--    object doesn't have a symbol table
--4467-- Reading syms from /usr/lib/x86_64-linux-gnu/libdrm.so.2.4.0
--4467--    object doesn't have a symbol table
--4467-- Reading syms from /usr/lib/x86_64-linux-gnu/libXau.so.6.0.0
--4467--   Considering /usr/lib/x86_64-linux-gnu/libXau.so.6.0.0 ..
--4467--   .. CRC mismatch (computed e6f65f93 wanted d18cd8e8)
--4467--    object doesn't have a symbol table
--4467-- Reading syms from /usr/lib/x86_64-linux-gnu/libXdmcp.so.6.0.0
--4467--   Considering /usr/lib/x86_64-linux-gnu/libXdmcp.so.6.0.0 ..
--4467--   .. CRC mismatch (computed 080b6ce7 wanted 548bbf8f)
--4467--    object doesn't have a symbol table
--4467-- Reading syms from /lib/x86_64-linux-gnu/libgcc_s.so.1
--4467--   Considering /lib/x86_64-linux-gnu/libgcc_s.so.1 ..
--4467--   .. CRC mismatch (computed e1528828 wanted 15fbad25)
--4467--    object doesn't have a symbol table
--4467-- Reading syms from /usr/lib/x86_64-linux-gnu/libogg.so.0.8.2
--4467--   Considering /usr/lib/x86_64-linux-gnu/libogg.so.0.8.2 ..
--4467--   .. CRC mismatch (computed ac481d9c wanted 6c4c8029)
--4467--    object doesn't have a symbol table
--4467-- Reading syms from /lib/x86_64-linux-gnu/libpng12.so.0.50.0
--4467--    object doesn't have a symbol table
--4467-- REDIR: 0x7f7ddc0 (libc.so.6:strcasecmp) redirected to 0x4a23730 (_vgnU_ifunc_wrapper)
--4467-- REDIR: 0x7f800b0 (libc.so.6:strncasecmp) redirected to 0x4a23730 (_vgnU_ifunc_wrapper)
--4467-- REDIR: 0x7f7d590 (libc.so.6:memcpy@GLIBC_2.2.5) redirected to 0x4a23730 (_vgnU_ifunc_wrapper)
--4467-- REDIR: 0x7f7cfb0 (libc.so.6:bcmp) redirected to 0x4a23730 (_vgnU_ifunc_wrapper)
--4467-- REDIR: 0x7f82790 (libc.so.6:memcpy@@GLIBC_2.14) redirected to 0x4a23730 (_vgnU_ifunc_wrapper)
--4467-- REDIR: 0x7f7b910 (libc.so.6:rindex) redirected to 0x4c2baf0 (rindex)
--4467-- REDIR: 0x7f77f70 (libc.so.6:index) redirected to 0x4a23730 (_vgnU_ifunc_wrapper)
--4467-- REDIR: 0x7f77fa0 (libc.so.6:__GI_strchr) redirected to 0x4c2bc50 (__GI_strchr)
--4467-- REDIR: 0x7f79c10 (libc.so.6:strlen) redirected to 0x4c2c1a0 (strlen)
--4467-- REDIR: 0x7f7a030 (libc.so.6:strncmp) redirected to 0x4a23730 (_vgnU_ifunc_wrapper)
--4467-- REDIR: 0x80176c0 (libc.so.6:__strncmp_sse42) redirected to 0x4c2ca30 (__strncmp_sse42)
--4467-- REDIR: 0x7f781c0 (libc.so.6:strcmp) redirected to 0x4a23730 (_vgnU_ifunc_wrapper)
--4467-- REDIR: 0x7f89d70 (libc.so.6:__strcmp_sse2_unaligned) redirected to 0x4c2d1d0 (strcmp)
--4467-- REDIR: 0x7f74930 (libc.so.6:calloc) redirected to 0x4c2ac90 (calloc)
--4467-- REDIR: 0x7f73fc0 (libc.so.6:malloc) redirected to 0x4c28bb0 (malloc)
--4467-- REDIR: 0x7f74600 (libc.so.6:free) redirected to 0x4c29e20 (free)
--4467-- REDIR: 0x7f84750 (libc.so.6:strchrnul) redirected to 0x4c2fa80 (strchrnul)
--4467-- REDIR: 0x7f79650 (libc.so.6:strcpy) redirected to 0x4a23730 (_vgnU_ifunc_wrapper)
--4467-- REDIR: 0x7f8ebe0 (libc.so.6:__strcpy_sse2_unaligned) redirected to 0x4c2c280 (strcpy)
--4467-- REDIR: 0x7f7a080 (libc.so.6:__GI_strncmp) redirected to 0x4c2c950 (__GI_strncmp)
--4467-- REDIR: 0x7f7ca20 (libc.so.6:strstr) redirected to 0x4a23730 (_vgnU_ifunc_wrapper)
--4467-- REDIR: 0x7f93280 (libc.so.6:__strstr_sse2_unaligned) redirected to 0x4c30050 (strstr)
ffmpeg version N-85590-g8707147 Copyright (c) 2000-2017 the FFmpeg developers
  built with gcc 4.9.2 (Debian 4.9.2-10)
  configuration: --pkg-config-flags=--static --enable-gpl --enable-libfdk-aac --enable-libfreetype --enable-libmp3lame --enable-libopus --enable-libtheora --enable-libvorbis --enable-libvpx --enable-libx264 --enable-libx265 --enable-nonfree
  libavutil      55. 61.100 / 55. 61.100
  libavcodec     57. 93.100 / 57. 93.100
  libavformat    57. 72.101 / 57. 72.101
  libavdevice    57.  7.100 / 57.  7.100
  libavfilter     6. 84.101 /  6. 84.101
  libswscale      4.  7.101 /  4.  7.101
  libswresample   2.  8.100 /  2.  8.100
  libpostproc    54.  6.100 / 54.  6.100
--4467-- REDIR: 0x7f75f80 (libc.so.6:posix_memalign) redirected to 0x4c2b2a0 (posix_memalign)
--4467-- REDIR: 0x7f7d620 (libc.so.6:memset) redirected to 0x4c2f3f0 (memset)
--4467-- REDIR: 0x7f74690 (libc.so.6:realloc) redirected to 0x4c2aeb0 (realloc)
--4467-- REDIR: 0x7f8a020 (libc.so.6:__memcpy_sse2_unaligned) redirected to 0x4c2d6f0 (memcpy@@GLIBC_2.14)
--4467-- REDIR: 0x7f7bf80 (libc.so.6:strspn) redirected to 0x4a23730 (_vgnU_ifunc_wrapper)
--4467-- REDIR: 0x801c480 (libc.so.6:__strspn_sse42) redirected to 0x4c302d0 (strspn)
==4467== Warning: set address range perms: large range [0x3a04c080, 0x720c0380) (undefined)
--4467-- REDIR: 0xffffffffff600000 (???:???) redirected to 0x380bd803 (vgPlain_amd64_linux_REDIR_FOR_vgettimeofday)
--4467-- REDIR: 0x803f420 (libc.so.6:__memcmp_sse4_1) redirected to 0x4c2ed20 (__memcmp_sse4_1)
--4467-- REDIR: 0x7f84540 (libc.so.6:rawmemchr) redirected to 0x4c2fab0 (rawmemchr)
[h264 @ 0x9361da0] SPS unavailable in decode_picture_timing
[h264 @ 0x9361da0] non-existing PPS 0 referenced
[h264 @ 0x9361da0] SPS unavailable in decode_picture_timing
[h264 @ 0x9361da0] non-existing PPS 0 referenced
[h264 @ 0x9361da0] decode_slice_header error
[h264 @ 0x9361da0] no frame!
[h264 @ 0x9361da0] SPS unavailable in decode_picture_timing
[h264 @ 0x9361da0] non-existing PPS 0 referenced
[h264 @ 0x9361da0] SPS unavailable in decode_picture_timing
[h264 @ 0x9361da0] non-existing PPS 0 referenced
[h264 @ 0x9361da0] decode_slice_header error
[h264 @ 0x9361da0] no frame!
[h264 @ 0x9361da0] SPS unavailable in decode_picture_timing
[h264 @ 0x9361da0] non-existing PPS 0 referenced
[h264 @ 0x9361da0] SPS unavailable in decode_picture_timing
[h264 @ 0x9361da0] non-existing PPS 0 referenced
[h264 @ 0x9361da0] decode_slice_header error
[h264 @ 0x9361da0] no frame!
[h264 @ 0x9361da0] SPS unavailable in decode_picture_timing
[h264 @ 0x9361da0] non-existing PPS 0 referenced
[h264 @ 0x9361da0] SPS unavailable in decode_picture_timing
[h264 @ 0x9361da0] non-existing PPS 0 referenced
[h264 @ 0x9361da0] decode_slice_header error
[h264 @ 0x9361da0] no frame!
[h264 @ 0x9361da0] SPS unavailable in decode_picture_timing
[h264 @ 0x9361da0] non-existing PPS 0 referenced
[h264 @ 0x9361da0] SPS unavailable in decode_picture_timing
[h264 @ 0x9361da0] non-existing PPS 0 referenced
[h264 @ 0x9361da0] decode_slice_header error
[h264 @ 0x9361da0] no frame!
[h264 @ 0x9361da0] SPS unavailable in decode_picture_timing
[h264 @ 0x9361da0] non-existing PPS 0 referenced
[h264 @ 0x9361da0] SPS unavailable in decode_picture_timing
[h264 @ 0x9361da0] non-existing PPS 0 referenced
[h264 @ 0x9361da0] decode_slice_header error
[h264 @ 0x9361da0] no frame!
[h264 @ 0x9361da0] SPS unavailable in decode_picture_timing
[h264 @ 0x9361da0] non-existing PPS 0 referenced
[h264 @ 0x9361da0] SPS unavailable in decode_picture_timing
[h264 @ 0x9361da0] non-existing PPS 0 referenced
[h264 @ 0x9361da0] decode_slice_header error
[h264 @ 0x9361da0] no frame!
[h264 @ 0x9361da0] SPS unavailable in decode_picture_timing
[h264 @ 0x9361da0] non-existing PPS 0 referenced
[h264 @ 0x9361da0] SPS unavailable in decode_picture_timing
[h264 @ 0x9361da0] non-existing PPS 0 referenced
[h264 @ 0x9361da0] decode_slice_header error
[h264 @ 0x9361da0] no frame!
[h264 @ 0x9361da0] SPS unavailable in decode_picture_timing
[h264 @ 0x9361da0] non-existing PPS 0 referenced
[h264 @ 0x9361da0] SPS unavailable in decode_picture_timing
[h264 @ 0x9361da0] non-existing PPS 0 referenced
[h264 @ 0x9361da0] decode_slice_header error
[h264 @ 0x9361da0] no frame!
[h264 @ 0x9361da0] SPS unavailable in decode_picture_timing
[h264 @ 0x9361da0] non-existing PPS 0 referenced
[h264 @ 0x9361da0] SPS unavailable in decode_picture_timing
[h264 @ 0x9361da0] non-existing PPS 0 referenced
[h264 @ 0x9361da0] decode_slice_header error
[h264 @ 0x9361da0] no frame!
[h264 @ 0x9361da0] SPS unavailable in decode_picture_timing
[h264 @ 0x9361da0] non-existing PPS 0 referenced
[h264 @ 0x9361da0] SPS unavailable in decode_picture_timing
[h264 @ 0x9361da0] non-existing PPS 0 referenced
[h264 @ 0x9361da0] decode_slice_header error
[h264 @ 0x9361da0] no frame!
[h264 @ 0x9361da0] SPS unavailable in decode_picture_timing
[h264 @ 0x9361da0] non-existing PPS 0 referenced
[h264 @ 0x9361da0] SPS unavailable in decode_picture_timing
[h264 @ 0x9361da0] non-existing PPS 0 referenced
[h264 @ 0x9361da0] decode_slice_header error
[h264 @ 0x9361da0] no frame!
[h264 @ 0x9361da0] SPS unavailable in decode_picture_timing
[h264 @ 0x9361da0] non-existing PPS 0 referenced
[h264 @ 0x9361da0] SPS unavailable in decode_picture_timing
[h264 @ 0x9361da0] non-existing PPS 0 referenced
[h264 @ 0x9361da0] decode_slice_header error
[h264 @ 0x9361da0] no frame!
[h264 @ 0x9361da0] SPS unavailable in decode_picture_timing
[h264 @ 0x9361da0] non-existing PPS 0 referenced
[h264 @ 0x9361da0] SPS unavailable in decode_picture_timing
[h264 @ 0x9361da0] non-existing PPS 0 referenced
[h264 @ 0x9361da0] decode_slice_header error
[h264 @ 0x9361da0] no frame!
Input #0, mpegts, from 'udp://@239.126.126.3:1300?fifo_size=5000000&overrun_nonfatal_option=1':
  Duration: N/A, start: 89319.765500, bitrate: N/A
  Program 1
    Metadata:
      service_name    : --4467-- REDIR: 0x7f79770 (libc.so.6:strcspn) redirected to 0x4a23730 (_vgnU_ifunc_wrapper)
--4467-- REDIR: 0x801c220 (libc.so.6:__strcspn_sse42) redirected to 0x4c30260 (strcspn)
Muzshkoy
      service_provider: VideoTranscoder
    Stream #0:0[0x100](rus): Audio: aac (LC) ([15][0][0][0] / 0x000F), 48000 Hz, stereo, fltp, 187 kb/s
    Stream #0:1[0x101]: Video: h264 (High) ([27][0][0][0] / 0x001B), yuv420p(top first), 720x576 [SAR 16:15 DAR 4:3], --4467-- REDIR: 0x7f827e0 (libc.so.6:__GI_memcpy) redirected to 0x4c2dd10 (__GI_memcpy)
25 fps, 25 tbr, 90k tbn, 50 tbc
--4467-- REDIR: 0xffffffffff600400 (???:???) redirected to 0x380bd80d (vgPlain_amd64_linux_REDIR_FOR_vtime)
--4467-- REDIR: 0x7f7c560 (libc.so.6:__GI_strstr) redirected to 0x4c300e0 (__strstr_sse2)
--4467-- REDIR: 0x7f7cff0 (libc.so.6:__GI_memcmp) redirected to 0x4c2eca0 (__GI_memcmp)
--4467-- REDIR: 0x7f79690 (libc.so.6:__GI_strcpy) redirected to 0x4c2c350 (__GI_strcpy)
--4467-- REDIR: 0x7f78200 (libc.so.6:__GI_strcmp) redirected to 0x4c2d220 (__GI_strcmp)
Output #0, hls, to '/opt/data/hls/stream/playlist.m3u8':
  Metadata:
    encoder         : Lavf57.72.101
    Stream #0:0: Video: h264 (High) ([27][0][0][0] / 0x001B), yuv420p(top first), 720x576 [SAR 16:15 DAR 4:3], q=2-31, 25 fps, 25 tbr, 90k tbn, 25 tbc
    Stream #0:1(rus): Audio: aac (LC) ([15][0][0][0] / 0x000F), 48000 Hz, stereo, fltp, 187 kb/s
Stream mapping:
  Stream #0:1 -> #0:0 (copy)
  Stream #0:0 -> #0:1 (copy)
--4467-- REDIR: 0x802f450 (libc.so.6:__memmove_ssse3_back) redirected to 0x4c2d470 (memcpy@GLIBC_2.2.5)
^Cframe= 8227 fps= 25 q=-1.0 Lsize=N/A time=00:05:29.79 bitrate=N/A speed=   1x
video:33484kB audio:7730kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: unknown
==4467== Warning: set address range perms: large range [0x3a04c068, 0x720c0398) (noaccess)
Exiting normally, received signal 2.
==4467==
==4467== HEAP SUMMARY:
==4467==     in use at exit: 4,299 bytes in 67 blocks
==4467==   total heap usage: 346,041 allocs, 345,974 frees, 2,845,674,818 bytes allocated
==4467==
==4467== Searching for pointers to 67 not-freed blocks
==4467== Checked 10,243,968 bytes
==4467==
==4467== 32 bytes in 1 blocks are still reachable in loss record 1 of 3
==4467==    at 0x4C2AD10: calloc (vg_replace_malloc.c:623)
==4467==    by 0x4E3663F: _dlerror_run (dlerror.c:141)
==4467==    by 0x4E360C0: dlopen@@GLIBC_2.2.5 (dlopen.c:87)
==4467==    by 0x1002D0C: x265_api_get_114 (in /home/ksotik/install/ffmpeg/ffmpeg/ffmpeg_g)
==4467==    by 0x43891F: libx265_encode_init_csp (libx265.c:380)
==4467==    by 0x74C0B3: register_all (allcodecs.c:634)
==4467==    by 0x6EEA40F: pthread_once (pthread_once.S:103)
==4467==    by 0x485E19: main (ffmpeg.c:4722)
==4467==
==4467== 42 bytes in 1 blocks are still reachable in loss record 2 of 3
==4467==    at 0x4C28C20: malloc (vg_replace_malloc.c:296)
==4467==    by 0x400E640: _dl_signal_error (dl-error.c:90)
==4467==    by 0x4012601: _dl_open (dl-open.c:715)
==4467==    by 0x4E3602A: dlopen_doit (dlopen.c:66)
==4467==    by 0x400E873: _dl_catch_error (dl-error.c:187)
==4467==    by 0x4E365DC: _dlerror_run (dlerror.c:163)
==4467==    by 0x4E360C0: dlopen@@GLIBC_2.2.5 (dlopen.c:87)
==4467==    by 0x1002DA0: x265_api_get_114 (in /home/ksotik/install/ffmpeg/ffmpeg/ffmpeg_g)
==4467==    by 0x438938: libx265_encode_init_csp (libx265.c:382)
==4467==    by 0x74C0B3: register_all (allcodecs.c:634)
==4467==    by 0x6EEA40F: pthread_once (pthread_once.S:103)
==4467==    by 0x485E19: main (ffmpeg.c:4722)
==4467==
==4467== 4,225 bytes in 65 blocks are definitely lost in loss record 3 of 3
==4467==    at 0x4C28C20: malloc (vg_replace_malloc.c:296)
==4467==    by 0x4C2AFCF: realloc (vg_replace_malloc.c:692)
==4467==    by 0xFE42FB: av_realloc (mem.c:144)
==4467==    by 0xFE42FB: av_strdup (mem.c:242)
==4467==    by 0x63A28A: hls_write_packet (hlsenc.c:1476)
==4467==    by 0x696679: write_packet (mux.c:771)
==4467==    by 0x696679: av_interleaved_write_frame (mux.c:1291)
==4467==    by 0x49DF29: write_packet.isra.13 (ffmpeg.c:796)
==4467==    by 0x4A670A: do_streamcopy (ffmpeg.c:2089)
==4467==    by 0x4A670A: process_input_packet (ffmpeg.c:2746)
==4467==    by 0x486C86: process_input (ffmpeg.c:4390)
==4467==    by 0x486C86: transcode_step (ffmpeg.c:4501)
==4467==    by 0x486C86: transcode (ffmpeg.c:4555)
==4467==    by 0x486C86: main (ffmpeg.c:4760)
==4467==
==4467== LEAK SUMMARY:
==4467==    definitely lost: 4,225 bytes in 65 blocks
==4467==    indirectly lost: 0 bytes in 0 blocks
==4467==      possibly lost: 0 bytes in 0 blocks
==4467==    still reachable: 74 bytes in 2 blocks
==4467==         suppressed: 0 bytes in 0 blocks
==4467==
==4467== ERROR SUMMARY: 1 errors from 1 contexts (suppressed: 0 from 0)
==4467== ERROR SUMMARY: 1 errors from 1 contexts (suppressed: 0 from 0)

comment:8 by Steven Liu, 7 years ago

comment:9 by ksotik, 7 years ago

Not help:

==16175== HEAP SUMMARY:
==16175==     in use at exit: 74 bytes in 2 blocks
==16175==   total heap usage: 315,575 allocs, 315,573 frees, 2,686,334,473 bytes allocated
==16175==
==16175== Searching for pointers to 2 not-freed blocks
==16175== Checked 10,243,984 bytes
==16175==
==16175== 32 bytes in 1 blocks are still reachable in loss record 1 of 2
==16175==    at 0x4C2AD10: calloc (vg_replace_malloc.c:623)
==16175==    by 0x4E3663F: _dlerror_run (dlerror.c:141)
==16175==    by 0x4E360C0: dlopen@@GLIBC_2.2.5 (dlopen.c:87)
==16175==    by 0x1002D0C: x265_api_get_114 (in /home/ksotik/install/ffmpeg/ffmpeg/ffmpeg_g)
==16175==    by 0x43891F: libx265_encode_init_csp (libx265.c:380)
==16175==    by 0x74C0B3: register_all (allcodecs.c:634)
==16175==    by 0x6EEA40F: pthread_once (pthread_once.S:103)
==16175==    by 0x485E19: main (ffmpeg.c:4722)
==16175==
==16175== 42 bytes in 1 blocks are still reachable in loss record 2 of 2
==16175==    at 0x4C28C20: malloc (vg_replace_malloc.c:296)
==16175==    by 0x400E640: _dl_signal_error (dl-error.c:90)
==16175==    by 0x4012601: _dl_open (dl-open.c:715)
==16175==    by 0x4E3602A: dlopen_doit (dlopen.c:66)
==16175==    by 0x400E873: _dl_catch_error (dl-error.c:187)
==16175==    by 0x4E365DC: _dlerror_run (dlerror.c:163)
==16175==    by 0x4E360C0: dlopen@@GLIBC_2.2.5 (dlopen.c:87)
==16175==    by 0x1002DA0: x265_api_get_114 (in /home/ksotik/install/ffmpeg/ffmpeg/ffmpeg_g)
==16175==    by 0x438938: libx265_encode_init_csp (libx265.c:382)
==16175==    by 0x74C0B3: register_all (allcodecs.c:634)
==16175==    by 0x6EEA40F: pthread_once (pthread_once.S:103)
==16175==    by 0x485E19: main (ffmpeg.c:4722)
==16175==
==16175== LEAK SUMMARY:
==16175==    definitely lost: 0 bytes in 0 blocks
==16175==    indirectly lost: 0 bytes in 0 blocks
==16175==      possibly lost: 0 bytes in 0 blocks
==16175==    still reachable: 74 bytes in 2 blocks
==16175==         suppressed: 0 bytes in 0 blocks
==16175==
==16175== ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 0 from 0)
==16175== ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 0 from 0)

comment:10 by Steven Liu, 7 years ago

Ah, the hls's memleak has gone.

Note: See TracTickets for help on using tickets.