GNOME Bugzilla – Bug 775480
ssaparse: memory leak in gst_ssa_parse_setcaps
Last modified: 2016-12-09 15:02:02 UTC
File: http://samples.mplayerhq.hu/Matroska/matrix/Matrix.Reloaded.Trailer-RV9-Karl640x432_HE_AAC_subtitled_chapters.mkv The stack trace contains code from both gst-plugins-good/base: ==18571==ERROR: LeakSanitizer: detected memory leaks Direct leak of 7069 byte(s) in 9 object(s) allocated from: #0 0x4d4e38 in malloc (/usr/local/bin/gst-discoverer-1.0+0x4d4e38) #1 0x7f41cdbf9aa8 in g_malloc (/usr/lib64/libglib-2.0.so.0+0x4faa8) #2 0x7f41cdc13677 in g_strndup (/usr/lib64/libglib-2.0.so.0+0x69677) #3 0x7f41bee0cc02 in gst_ssa_parse_setcaps /f/gstreamer/gst-plugins-base/gst/subparse/gstssaparse.c:198:16 #4 0x7f41bee0cc02 in gst_ssa_parse_sink_event /f/gstreamer/gst-plugins-base/gst/subparse/gstssaparse.c:130 #5 0x7f41ce96870d in gst_pad_send_event_unchecked /f/gstreamer/gstreamer/gst/gstpad.c:5609:14 #6 0x7f41ce9463cd in gst_pad_send_event /f/gstreamer/gstreamer/gst/gstpad.c:5779:7 #7 0x7f41c34f3c2d in send_sticky_event /f/gstreamer/gst-plugins-base/gst/playback/gstdecodebin2.c:1961:9 #8 0x7f41ce96b409 in foreach_dispatch_function /f/gstreamer/gstreamer/gst/gstpad.c:5878:11 #9 0x7f41ce94fd44 in events_foreach /f/gstreamer/gstreamer/gst/gstpad.c:603:11 #10 0x7f41ce96b215 in gst_pad_sticky_events_foreach /f/gstreamer/gstreamer/gst/gstpad.c:5909:3 #11 0x7f41c34df9ee in send_sticky_events /f/gstreamer/gst-plugins-base/gst/playback/gstdecodebin2.c:1976:3 #12 0x7f41c34df9ee in connect_pad /f/gstreamer/gst-plugins-base/gst/playback/gstdecodebin2.c:2496 #13 0x7f41c34df9ee in analyze_new_pad /f/gstreamer/gst-plugins-base/gst/playback/gstdecodebin2.c:1791 #14 0x7f41c34f1b80 in pad_added_cb /f/gstreamer/gst-plugins-base/gst/playback/gstdecodebin2.c:2929:7 #15 0x7f41ccede01f in ffi_call_unix64 (/usr/lib64/libffi.so.6+0x601f) #16 0x7f41ccedda87 in ffi_call (/usr/lib64/libffi.so.6+0x5a87) #17 0x7f41cdece7e3 in g_cclosure_marshal_generic (/usr/lib64/libgobject-2.0.so.0+0x107e3) #18 0x7f41cdecdfd4 in g_closure_invoke (/usr/lib64/libgobject-2.0.so.0+0xffd4) #19 0x7f41cdee0320 (/usr/lib64/libgobject-2.0.so.0+0x22320) #20 0x7f41cdee8dd4 in g_signal_emit_valist (/usr/lib64/libgobject-2.0.so.0+0x2add4) #21 0x7f41cdee9036 in g_signal_emit (/usr/lib64/libgobject-2.0.so.0+0x2b036) #22 0x7f41ce8d97bb in gst_element_add_pad /f/gstreamer/gstreamer/gst/gstelement.c:713:3 #23 0x7f41c178a45b in gst_matroska_demux_add_stream /f/gstreamer/gst-plugins-good/gst/matroska/matroska-demux.c:1350:3 #24 0x7f41c176c0d6 in gst_matroska_demux_parse_tracks /f/gstreamer/gst-plugins-good/gst/matroska/matroska-demux.c:2520:15 #25 0x7f41c176c0d6 in gst_matroska_demux_parse_id /f/gstreamer/gst-plugins-good/gst/matroska/matroska-demux.c:4422 #26 0x7f41c1798376 in gst_matroska_demux_parse_contents_seekentry /f/gstreamer/gst-plugins-good/gst/matroska/matroska-demux.c:4042:15 #27 0x7f41c176b8a7 in gst_matroska_demux_parse_contents /f/gstreamer/gst-plugins-good/gst/matroska/matroska-demux.c:4091:15 #28 0x7f41c176b8a7 in gst_matroska_demux_parse_id /f/gstreamer/gst-plugins-good/gst/matroska/matroska-demux.c:4544 #29 0x7f41c1763f1a in gst_matroska_demux_loop /f/gstreamer/gst-plugins-good/gst/matroska/matroska-demux.c:4683:9 #30 0x7f41cea1f5d3 in gst_task_func /f/gstreamer/gstreamer/gst/gsttask.c:334:5 #31 0x7f41cdc1c627 (/usr/lib64/libglib-2.0.so.0+0x72627) #32 0x7f41cdc1bc94 (/usr/lib64/libglib-2.0.so.0+0x71c94) #33 0x7f41cd698453 in start_thread (/lib64/libpthread.so.0+0x7453) #34 0x7f41cd1c85dc in clone (/lib64/libc.so.6+0xe75dc) SUMMARY: AddressSanitizer: 7069 byte(s) leaked in 9 allocation(s).
commit d452ad0ecaba7add0ea68861f7a73ba7bc82d3cb Author: Sebastian Dröge <sebastian@centricular.com> Date: Thu Dec 1 19:57:47 2016 +0200 ssaparse: Free initialization section before storing the next one If getting multiple caps events. https://bugzilla.gnome.org/show_bug.cgi?id=775480
I think this fix is incomplete, I'm still seeing this with the latest git code.
I can't :) Can you get a new backtrace from lsan?
I assume I made a mistake when I claimed it's unfixed, I can't reproduce it any more.