[Bug 775456] New: memory leaks during build process
GStreamer (GNOME Bugzilla)
bugzilla at gnome.org
Thu Dec 1 11:48:05 UTC 2016
https://bugzilla.gnome.org/show_bug.cgi?id=775456
Bug ID: 775456
Summary: memory leaks during build process
Classification: Platform
Product: GStreamer
Version: git master
OS: Linux
Status: NEW
Severity: normal
Priority: Normal
Component: gstreamer (core)
Assignee: gstreamer-bugs at lists.freedesktop.org
Reporter: hanno at hboeck.de
QA Contact: gstreamer-bugs at lists.freedesktop.org
GNOME version: ---
If I build gstreamer with clang and address sanitizer it will report memory
leaks during the build process.
To reproduce:
* Clone the gstreamer repo and run autogen.sh
* ./configure --disable-gtk-doc --enable-debug CC=clang
CFLAGS="-fsanitize=address -g -O2"; make
I'm not exactly sure which code is causing that leak, but it seems to be some
temporary created executable related to introspection.
Here's the relevant output of ASAN_OPTIONS="fast_unwind_on_malloc=0" make V=1 :
GST_PLUGIN_SYSTEM_PATH_1_0="" GST_PLUGIN_PATH_1_0="" GST_REGISTRY_UPDATE=no
GI_SCANNER_DISABLE_CACHE=yes \
CPPFLAGS="" CFLAGS="-fsanitize=address -g -O2" LDFLAGS="" CC="clang"
PKG_CONFIG="/usr/bin/pkg-config" DLLTOOL="false" \
/usr/bin/g-ir-scanner -v --namespace Gst \
--nsversion=1.0 \
--verbose \
--warn-all \
-I.. \
-I.. \
-DIN_GOBJECT_INTROSPECTION=1 \
--c-include='gst/gst.h' \
--library=libgstreamer-1.0.la \
--include=GLib-2.0 \
--include=GObject-2.0 \
--include=GModule-2.0 \
--libtool="/bin/sh ../libtool" \
--pkg glib-2.0 \
--pkg gobject-2.0 \
--pkg gmodule-no-export-2.0 \
--pkg-export gstreamer-1.0 \
--add-init-section="extern void gst_init(gint*,gchar**);
gst_init(NULL,NULL);" \
--output Gst-1.0.gir \
./gst.h ./glib-compat.h ./gstobject.h ./gstallocator.h ./gstbin.h
./gstbuffer.h ./gstbufferlist.h ./gstbufferpool.h ./gstbus.h ./gstcaps.h
./gstcapsfeatures.h ./gstchildproxy.h ./gstclock.h ./gstcompat.h ./gstcontext.h
./gstcontrolbinding.h ./gstcontrolsource.h ./gstdatetime.h ./gstdebugutils.h
./gstelement.h ./gstelementmetadata.h ./gstdevice.h ./gstdeviceprovider.h
./gstdeviceproviderfactory.h ./gstdynamictypefactory.h ./gstelementfactory.h
./gsterror.h ./gstevent.h ./gstformat.h ./gstghostpad.h ./gstdevicemonitor.h
./gstinfo.h ./gstiterator.h ./gstatomicqueue.h ./gstmacros.h ./gstmessage.h
./gstmeta.h ./gstmemory.h ./gstminiobject.h ./gstpad.h ./gstpadtemplate.h
./gstparamspecs.h ./gstpipeline.h ./gstplugin.h ./gstpluginfeature.h
./gstpoll.h ./gstpreset.h ./gstprotection.h ./gstquery.h ./gstsample.h
./gstsegment.h ./gststreamcollection.h ./gststreams.h ./gststructure.h
./gstsystemclock.h ./gsttaglist.h ./gsttagsetter.h ./gsttask.h ./gsttaskpool.h
./gsttoc.h ./gsttocsetter.h ./gsttracer.h ./gsttracerfactory.h
./gsttracerrecord.h ./gsttypefind.h ./gsttypefindfactory.h ./gsturi.h
./gstutils.h ./gstvalue.h ./gstregistry.h ./gstparse.h ./math-compat.h
./gstenumtypes.h ./gstversion.h \
./gst.c ./gstobject.c ./gstallocator.c ./gstbin.c ./gstbuffer.c
./gstbufferlist.c ./gstbufferpool.c ./gstbus.c ./gstcaps.c ./gstcapsfeatures.c
./gstchildproxy.c ./gstclock.c ./gstcontext.c ./gstcontrolbinding.c
./gstcontrolsource.c ./gstdatetime.c ./gstdebugutils.c ./gstdevice.c
./gstdevicemonitor.c ./gstdeviceprovider.c ./gstdeviceproviderfactory.c
./gstdynamictypefactory.c ./gstelement.c ./gstelementfactory.c ./gsterror.c
./gstevent.c ./gstformat.c ./gstghostpad.c ./gstinfo.c ./gstiterator.c
./gstatomicqueue.c ./gstmessage.c ./gstmeta.c ./gstmemory.c ./gstminiobject.c
./gstpad.c ./gstpadtemplate.c ./gstparamspecs.c ./gstpipeline.c ./gstplugin.c
./gstpluginfeature.c ./gstpluginloader.c ./gstpoll.c ./gstpreset.c
./gstprotection.c ./gstquark.c ./gstquery.c ./gstregistry.c
./gstregistrychunks.c ./gstsample.c ./gstsegment.c ./gststreamcollection.c
./gststreams.c ./gststructure.c ./gstsystemclock.c ./gsttaglist.c
./gsttagsetter.c ./gsttask.c ./gsttaskpool.c ./gsttoc.c ./gsttocsetter.c
./gsttracer.c ./gsttracerfactory.c ./gsttracerrecord.c ./gsttracerutils.c
./gsttypefind.c ./gsttypefindfactory.c ./gsturi.c ./gstutils.c ./gstvalue.c
./gstparse.c ./gstregistrybinary.c ./gstenumtypes.c
g-ir-scanner: link: /bin/sh ../libtool --mode=link --tag=CC clang -o
/mnt/ram/gstreamer/gst/tmp-introspectzUywhI/Gst-1.0 -export-dynamic
-fsanitize=address -g -O2
tmp-introspectzUywhI/mnt/ram/gstreamer/gst/tmp-introspectzUywhI/Gst-1.0.o -L.
libgstreamer-1.0.la -lgio-2.0 -Wl,--export-dynamic -lgmodule-2.0 -pthread
-lgobject-2.0 -lgmodule-2.0 -pthread -lglib-2.0
libtool: link: clang -o
/mnt/ram/gstreamer/gst/tmp-introspectzUywhI/.libs/Gst-1.0 -fsanitize=address -g
-O2 tmp-introspectzUywhI/mnt/ram/gstreamer/gst/tmp-introspectzUywhI/Gst-1.0.o
-Wl,--export-dynamic -pthread -pthread -Wl,--export-dynamic -L.
./.libs/libgstreamer-1.0.so -lunwind -ldw -lelf -lm -lrt -ldl -lgio-2.0
-lgobject-2.0 -lgmodule-2.0 -lglib-2.0 -pthread
=================================================================
==32237==ERROR: LeakSanitizer: detected memory leaks
Direct leak of 16384 byte(s) in 1 object(s) allocated from:
#0 0x4cd508 in malloc
(/mnt/ram/gstreamer/gst/tmp-introspectzUywhI/.libs/Gst-1.0+0x4cd508)
#1 0x7fa78142a4c8 in g_malloc (/usr/lib64/libglib-2.0.so.0+0x4e4c8)
#2 0x7fa7814351bb (/usr/lib64/libglib-2.0.so.0+0x591bb)
#3 0x7fa783002369 in call_init
/var/tmp/portage/sys-libs/glibc-2.23-r3/work/glibc-2.23/elf/dl-init.c:72
#4 0x7fa78300247a in call_init
/var/tmp/portage/sys-libs/glibc-2.23-r3/work/glibc-2.23/elf/dl-init.c:30
#5 0x7fa78300247a in _dl_init
/var/tmp/portage/sys-libs/glibc-2.23-r3/work/glibc-2.23/elf/dl-init.c:120
#6 0x7fa782ff3c49 (/lib64/ld-linux-x86-64.so.2+0xc49)
SUMMARY: AddressSanitizer: 16384 byte(s) leaked in 1 allocation(s).
Command '[u'/mnt/ram/gstreamer/gst/tmp-introspectzUywhI/Gst-1.0',
u'--introspect-dump=/mnt/ram/gstreamer/gst/tmp-introspectzUywhI/functions.txt,/mnt/ram/gstreamer/gst/tmp-introspectzUywhI/dump.xml']'
returned non-zero exit status 1
--
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