[Bug 775516] New: gif hangs and causes memory leaks

GStreamer (GNOME Bugzilla) bugzilla at gnome.org
Fri Dec 2 11:46:40 UTC 2016


https://bugzilla.gnome.org/show_bug.cgi?id=775516

            Bug ID: 775516
           Summary: gif hangs and causes memory leaks
    Classification: Platform
           Product: GStreamer
           Version: git master
                OS: Linux
            Status: NEW
          Severity: normal
          Priority: Normal
         Component: gst-libav
          Assignee: gstreamer-bugs at lists.freedesktop.org
          Reporter: hanno at hboeck.de
        QA Contact: gstreamer-bugs at lists.freedesktop.org
     GNOME version: ---

File:
http://samples.mplayerhq.hu/internets/emblaze/www.jorgen.com/EVBorderT.gif

Hangs with gst-discoverer and produces various memory leaks.

ASAN memory leak reports:
==31110==ERROR: LeakSanitizer: detected memory leaks

Direct leak of 232 byte(s) in 1 object(s) allocated from:
    #0 0x4d59d5 in __interceptor_posix_memalign
(/root/gst/master/gst-plugins-base/tools/.libs/gst-discoverer-1.0+0x4d59d5)
    #1 0x7f8d0fe3642c in av_malloc
/root/gst/master/gst-libav/gst-libs/ext/libav/libavutil/mem.c:97:9
    #2 0x7f8d0fe3642c in av_mallocz
/root/gst/master/gst-libav/gst-libs/ext/libav/libavutil/mem.c:254
    #3 0x7f8d0d3be98b in avio_alloc_context
/root/gst/master/gst-libav/gst-libs/ext/libav/libavformat/aviobuf.c:135:22
    #4 0x7f8d0d2e2280 in gst_ffmpeg_pipe_open
/root/gst/master/gst-libav/ext/libav/gstavprotocol.c:344:7
    #5 0x7f8d0d347326 in gst_ffmpegdemux_open
/root/gst/master/gst-libav/ext/libav/gstavdemux.c:1214:11
    #6 0x7f8d0d347326 in gst_ffmpegdemux_loop
/root/gst/master/gst-libav/ext/libav/gstavdemux.c:1398
    #7 0x7f8d1e56f813 in gst_task_func
/root/gst/master/gstreamer/gst/gsttask.c:334:5
    #8 0x7f8d1d76d857 in g_thread_pool_thread_proxy
/var/tmp/portage/dev-libs/glib-2.50.2/work/glib-2.50.2/glib/gthreadpool.c:307
    #9 0x7f8d1d76cec4 in g_thread_proxy
/var/tmp/portage/dev-libs/glib-2.50.2/work/glib-2.50.2/glib/gthread.c:784
    #10 0x7f8d1d1e9453 in start_thread (/lib64/libpthread.so.0+0x7453)
    #11 0x7f8d1cd195dc in clone (/lib64/libc.so.6+0xe75dc)

Direct leak of 24 byte(s) in 1 object(s) allocated from:
    #0 0x4d5035 in calloc
(/root/gst/master/gst-plugins-base/tools/.libs/gst-discoverer-1.0+0x4d5035)
    #1 0x7f8d1d74acf0 in g_malloc0
/var/tmp/portage/dev-libs/glib-2.50.2/work/glib-2.50.2/glib/gmem.c:124
    #2 0x7f8d0d2e0383 in gst_ffmpegdata_open
/root/gst/master/gst-libav/ext/libav/gstavprotocol.c:236:10
    #3 0x7f8d0d3472d4 in gst_ffmpegdemux_open
/root/gst/master/gst-libav/ext/libav/gstavdemux.c:1212:11
    #4 0x7f8d0d3472d4 in gst_ffmpegdemux_loop
/root/gst/master/gst-libav/ext/libav/gstavdemux.c:1398
    #5 0x7f8d1e56f813 in gst_task_func
/root/gst/master/gstreamer/gst/gsttask.c:334:5
    #6 0x7f8d1d76d857 in g_thread_pool_thread_proxy
/var/tmp/portage/dev-libs/glib-2.50.2/work/glib-2.50.2/glib/gthreadpool.c:307
    #7 0x7f8d1d76cec4 in g_thread_proxy
/var/tmp/portage/dev-libs/glib-2.50.2/work/glib-2.50.2/glib/gthread.c:784
    #8 0x7f8d1d1e9453 in start_thread (/lib64/libpthread.so.0+0x7453)
    #9 0x7f8d1cd195dc in clone (/lib64/libc.so.6+0xe75dc)

Direct leak of 24 byte(s) in 1 object(s) allocated from:
    #0 0x4d59d5 in __interceptor_posix_memalign
(/root/gst/master/gst-plugins-base/tools/.libs/gst-discoverer-1.0+0x4d59d5)
    #1 0x7f8d0fe3642c in av_malloc
/root/gst/master/gst-libav/gst-libs/ext/libav/libavutil/mem.c:97:9
    #2 0x7f8d0fe3642c in av_mallocz
/root/gst/master/gst-libav/gst-libs/ext/libav/libavutil/mem.c:254
    #3 0x7f8d0fdea8af in av_buffer_create
/root/gst/master/gst-libav/gst-libs/ext/libav/libavutil/buffer.c:48:11
    #4 0x7f8d0fdea8af in av_buffer_alloc
/root/gst/master/gst-libav/gst-libs/ext/libav/libavutil/buffer.c:75
    #5 0x7f8d0d906461 in av_grow_packet
/root/gst/master/gst-libav/gst-libs/ext/libav/libavcodec/avpacket.c:139:20
    #6 0x7f8d0d795b53 in append_packet_chunked
/root/gst/master/gst-libav/gst-libs/ext/libav/libavformat/utils.c:268:15
    #7 0x7f8d0d46749a in gif_read_packet
/root/gst/master/gst-libav/gst-libs/ext/libav/libavformat/gifdec.c:275:19
    #8 0x7f8d0d79a85b in ff_read_packet
/root/gst/master/gst-libav/gst-libs/ext/libav/libavformat/utils.c:801:15
    #9 0x7f8d0d7a2c91 in read_frame_internal
/root/gst/master/gst-libav/gst-libs/ext/libav/libavformat/utils.c:1499:15
    #10 0x7f8d0d7b7af6 in avformat_find_stream_info
/root/gst/master/gst-libav/gst-libs/ext/libav/libavformat/utils.c:3549:15
    #11 0x7f8d0d2dfa4c in gst_ffmpeg_av_find_stream_info
/root/gst/master/gst-libav/ext/libav/gstav.c:97:9
    #12 0x7f8d0d3474b4 in gst_ffmpegdemux_open
/root/gst/master/gst-libav/ext/libav/gstavdemux.c:1227:9
    #13 0x7f8d0d3474b4 in gst_ffmpegdemux_loop
/root/gst/master/gst-libav/ext/libav/gstavdemux.c:1398
    #14 0x7f8d1e56f813 in gst_task_func
/root/gst/master/gstreamer/gst/gsttask.c:334:5
    #15 0x7f8d1d76d857 in g_thread_pool_thread_proxy
/var/tmp/portage/dev-libs/glib-2.50.2/work/glib-2.50.2/glib/gthreadpool.c:307
    #16 0x7f8d1d76cec4 in g_thread_proxy
/var/tmp/portage/dev-libs/glib-2.50.2/work/glib-2.50.2/glib/gthread.c:784
    #17 0x7f8d1d1e9453 in start_thread (/lib64/libpthread.so.0+0x7453)
    #18 0x7f8d1cd195dc in clone (/lib64/libc.so.6+0xe75dc)

Indirect leak of 4096 byte(s) in 1 object(s) allocated from:
    #0 0x4d59d5 in __interceptor_posix_memalign
(/root/gst/master/gst-plugins-base/tools/.libs/gst-discoverer-1.0+0x4d59d5)
    #1 0x7f8d0fe354e3 in av_malloc
/root/gst/master/gst-libav/gst-libs/ext/libav/libavutil/mem.c:97:9
    #2 0x7f8d0d2e2229 in gst_ffmpeg_pipe_open
/root/gst/master/gst-libav/ext/libav/gstavprotocol.c:337:12
    #3 0x7f8d0d347326 in gst_ffmpegdemux_open
/root/gst/master/gst-libav/ext/libav/gstavdemux.c:1214:11
    #4 0x7f8d0d347326 in gst_ffmpegdemux_loop
/root/gst/master/gst-libav/ext/libav/gstavdemux.c:1398
    #5 0x7f8d1e56f813 in gst_task_func
/root/gst/master/gstreamer/gst/gsttask.c:334:5
    #6 0x7f8d1d76d857 in g_thread_pool_thread_proxy
/var/tmp/portage/dev-libs/glib-2.50.2/work/glib-2.50.2/glib/gthreadpool.c:307
    #7 0x7f8d1d76cec4 in g_thread_proxy
/var/tmp/portage/dev-libs/glib-2.50.2/work/glib-2.50.2/glib/gthread.c:784
    #8 0x7f8d1d1e9453 in start_thread (/lib64/libpthread.so.0+0x7453)
    #9 0x7f8d1cd195dc in clone (/lib64/libc.so.6+0xe75dc)

Indirect leak of 546 byte(s) in 1 object(s) allocated from:
    #0 0x4d59d5 in __interceptor_posix_memalign
(/root/gst/master/gst-plugins-base/tools/.libs/gst-discoverer-1.0+0x4d59d5)
    #1 0x7f8d0fe354e3 in av_malloc
/root/gst/master/gst-libav/gst-libs/ext/libav/libavutil/mem.c:97:9
    #2 0x7f8d0fdea73e in av_buffer_alloc
/root/gst/master/gst-libav/gst-libs/ext/libav/libavutil/buffer.c:71:12
    #3 0x7f8d0d906461 in av_grow_packet
/root/gst/master/gst-libav/gst-libs/ext/libav/libavcodec/avpacket.c:139:20
    #4 0x7f8d0d795b53 in append_packet_chunked
/root/gst/master/gst-libav/gst-libs/ext/libav/libavformat/utils.c:268:15
    #5 0x7f8d0d46749a in gif_read_packet
/root/gst/master/gst-libav/gst-libs/ext/libav/libavformat/gifdec.c:275:19
    #6 0x7f8d0d79a85b in ff_read_packet
/root/gst/master/gst-libav/gst-libs/ext/libav/libavformat/utils.c:801:15
    #7 0x7f8d0d7a2c91 in read_frame_internal
/root/gst/master/gst-libav/gst-libs/ext/libav/libavformat/utils.c:1499:15
    #8 0x7f8d0d7b7af6 in avformat_find_stream_info
/root/gst/master/gst-libav/gst-libs/ext/libav/libavformat/utils.c:3549:15
    #9 0x7f8d0d2dfa4c in gst_ffmpeg_av_find_stream_info
/root/gst/master/gst-libav/ext/libav/gstav.c:97:9
    #10 0x7f8d0d3474b4 in gst_ffmpegdemux_open
/root/gst/master/gst-libav/ext/libav/gstavdemux.c:1227:9
    #11 0x7f8d0d3474b4 in gst_ffmpegdemux_loop
/root/gst/master/gst-libav/ext/libav/gstavdemux.c:1398
    #12 0x7f8d1e56f813 in gst_task_func
/root/gst/master/gstreamer/gst/gsttask.c:334:5
    #13 0x7f8d1d76d857 in g_thread_pool_thread_proxy
/var/tmp/portage/dev-libs/glib-2.50.2/work/glib-2.50.2/glib/gthreadpool.c:307
    #14 0x7f8d1d76cec4 in g_thread_proxy
/var/tmp/portage/dev-libs/glib-2.50.2/work/glib-2.50.2/glib/gthread.c:784
    #15 0x7f8d1d1e9453 in start_thread (/lib64/libpthread.so.0+0x7453)
    #16 0x7f8d1cd195dc in clone (/lib64/libc.so.6+0xe75dc)

Indirect leak of 40 byte(s) in 1 object(s) allocated from:
    #0 0x4d59d5 in __interceptor_posix_memalign
(/root/gst/master/gst-plugins-base/tools/.libs/gst-discoverer-1.0+0x4d59d5)
    #1 0x7f8d0fe3642c in av_malloc
/root/gst/master/gst-libav/gst-libs/ext/libav/libavutil/mem.c:97:9
    #2 0x7f8d0fe3642c in av_mallocz
/root/gst/master/gst-libav/gst-libs/ext/libav/libavutil/mem.c:254
    #3 0x7f8d0fdea7a0 in av_buffer_create
/root/gst/master/gst-libav/gst-libs/ext/libav/libavutil/buffer.c:35:11
    #4 0x7f8d0fdea7a0 in av_buffer_alloc
/root/gst/master/gst-libav/gst-libs/ext/libav/libavutil/buffer.c:75
    #5 0x7f8d0d906461 in av_grow_packet
/root/gst/master/gst-libav/gst-libs/ext/libav/libavcodec/avpacket.c:139:20
    #6 0x7f8d0d795b53 in append_packet_chunked
/root/gst/master/gst-libav/gst-libs/ext/libav/libavformat/utils.c:268:15
    #7 0x7f8d0d46749a in gif_read_packet
/root/gst/master/gst-libav/gst-libs/ext/libav/libavformat/gifdec.c:275:19
    #8 0x7f8d0d79a85b in ff_read_packet
/root/gst/master/gst-libav/gst-libs/ext/libav/libavformat/utils.c:801:15
    #9 0x7f8d0d7a2c91 in read_frame_internal
/root/gst/master/gst-libav/gst-libs/ext/libav/libavformat/utils.c:1499:15
    #10 0x7f8d0d7b7af6 in avformat_find_stream_info
/root/gst/master/gst-libav/gst-libs/ext/libav/libavformat/utils.c:3549:15
    #11 0x7f8d0d2dfa4c in gst_ffmpeg_av_find_stream_info
/root/gst/master/gst-libav/ext/libav/gstav.c:97:9
    #12 0x7f8d0d3474b4 in gst_ffmpegdemux_open
/root/gst/master/gst-libav/ext/libav/gstavdemux.c:1227:9
    #13 0x7f8d0d3474b4 in gst_ffmpegdemux_loop
/root/gst/master/gst-libav/ext/libav/gstavdemux.c:1398
    #14 0x7f8d1e56f813 in gst_task_func
/root/gst/master/gstreamer/gst/gsttask.c:334:5
    #15 0x7f8d1d76d857 in g_thread_pool_thread_proxy
/var/tmp/portage/dev-libs/glib-2.50.2/work/glib-2.50.2/glib/gthreadpool.c:307
    #16 0x7f8d1d76cec4 in g_thread_proxy
/var/tmp/portage/dev-libs/glib-2.50.2/work/glib-2.50.2/glib/gthread.c:784
    #17 0x7f8d1d1e9453 in start_thread (/lib64/libpthread.so.0+0x7453)
    #18 0x7f8d1cd195dc in clone (/lib64/libc.so.6+0xe75dc)

-----------------------------------------------------
Suppressions used:
  count      bytes template
      1      16384 g_quark_init
-----------------------------------------------------

SUMMARY: AddressSanitizer: 4962 byte(s) leaked in 6 allocation(s).

-- 
You are receiving this mail because:
You are the QA Contact for the bug.
You are the assignee for the bug.


More information about the gstreamer-bugs mailing list