<div dir="ltr"><div><span style="font-family:arial,sans-serif;font-size:13px">> I don't see why anything in GStreamer should be "incompatible" with that</span><br style="font-family:arial,sans-serif;font-size:13px"><span style="font-family:arial,sans-serif;font-size:13px">> GLib API.</span><br></div><div><br></div>Neither do I. However, try a *FULL* program below:<div><br></div><div><div>// Compile with:</div><div>// gcc -std=c11 -Wall -pthread test.c -o test `pkg-config --cflags --libs glib-2.0 gstreamer-1.0 gstreamer-pbutils-1.0 gstreamer-video-1.0`</div><div>// Run and enjoy</div><div><br></div><div>#include <stdio.h></div><div>#include <stdlib.h></div><div><br></div><div>#include <string.h></div><div>#include <unistd.h></div><div>#include <error.h></div><div>#include <errno.h></div><div>#include <math.h></div><div><br></div><div>#include <glib.h></div><div>#include <glib/gstdio.h></div><div>#include <glib/gprintf.h></div><div><br></div><div>#include <gst/gst.h></div><div>#include <gst/pbutils/pbutils.h></div><div>#include <gst/video/videooverlay.h></div><div><br></div><div>int main(int argc, char** argv) {</div><div>    GError *e;</div><div>    g_mem_set_vtable (glib_mem_profiler_table);</div><div>    if (g_mem_is_system_malloc ())</div><div>        g_print ("system malloc is used\n");</div><div>    else</div><div>        g_print ("NOT system malloc is used\n");</div><div>    g_print ("********************* point 1\n");</div><div>    if (!gst_init_check (&argc, &argv, &e))</div><div>        g_print ("failed gst_init_check: %s\n", e->message);</div><div>    g_print ("********************* point 2\n");</div><div>    g_mem_profile ();</div><div>    return (EXIT_SUCCESS);</div><div>}</div></div><div><br></div><div>It produces, as expected:</div><div><br></div><div><div>fl@nuc5:~/NetBeansProjects/test$ ./test </div><div>NOT system malloc is used</div><div>********************* point 1</div><div><br></div><div>(test:3987): GLib-WARNING **: free(0x1a84fd0): memory has been freed 12297829382473034410 times already</div><div>*** Error in `./test': realloc(): invalid pointer: 0x0000000001a87e80 ***</div><div>Aborted (core dumped)</div></div><div><br></div></div><div class="gmail_extra"><br><div class="gmail_quote">On Fri, Oct 31, 2014 at 2:20 PM, Tim Müller <span dir="ltr"><<a href="mailto:tim@centricular.com" target="_blank">tim@centricular.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">On Fri, 2014-10-31 at 13:46 +0100, Sergei Vorobyov wrote:<br>
<br>
Hi,<br>
<span class=""><br>
> GLib's memory profiling seems incompatible with GStreamer. The<br>
> snippet:<br>
<br>
</span>I don't see why anything in GStreamer should be "incompatible" with that<br>
GLib API.<br>
<span class=""><br>
> extern GMemVTable *glib_mem_profiler_table;<br>
><br>
><br>
> gint main (gint argn, gchar** args) {<br>
>     GError *e;<br>
>     g_mem_set_vtable (glib_mem_profiler_table);<br>
>     if (g_mem_is_system_malloc ())<br>
>         g_print ("system malloc is used\n");<br>
>     else<br>
>         g_print ("NOT system malloc is used\n");<br>
>     g_print ("********************* point 1\n");<br>
>     if (!gst_init_check (&argn, &args, &e)) {<br>
>         g_print ("failed gst_init_check: %s\n", e->message);<br>
>     }<br>
>     g_print ("********************* point 2\n");<br>
><br>
>     g_mem_profile ();<br>
><br>
><br>
>     ...<br>
><br>
><br>
> crashes at gst_init producing:<br>
><br>
><br>
> fl@nuc5:~/bin$ ./mp-v01.020<br>
> NOT system malloc is used<br>
> ********************* point 1<br>
><br>
><br>
> (mp-v01.020:15561): GLib-WARNING **: free(0x1b32fd0): memory has been<br>
> freed 12297829382473034410 times already<br>
> *** Error in `./mp-v01.020': realloc(): invalid pointer:<br>
> 0x0000000001b35e80 ***<br>
> Aborted (core dumped)<br>
<br>
</span>I would guess this is just a bug somewhere (mixing glib and non-glib<br>
alloc/realloc/free API somewhere). Do you have a full stack trace from<br>
gdb?<br>
<br>
Cheers<br>
 -Tim<br>
<br>
<br>
_______________________________________________<br>
gstreamer-devel mailing list<br>
<a href="mailto:gstreamer-devel@lists.freedesktop.org">gstreamer-devel@lists.freedesktop.org</a><br>
<a href="http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel" target="_blank">http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel</a><br>
</blockquote></div><br></div>