Re: Glib::Variant leaks
- From: José Alburquerque <jaalburquerque gmail com>
- To: Andrew Potter <agpotter gmail com>
- Cc: gtkmm-list gnome org
- Subject: Re: Glib::Variant leaks
- Date: Sun, 18 Nov 2012 11:46:19 -0500
On Tue, 2012-11-06 at 20:40 -0500, José Alburquerque wrote:
> On Tue, 2012-11-06 at 15:11 -0800, Andrew Potter wrote:
> > Is anybody actually using the glibmm variant stuff? I'm serializing a
> > complex variant and end up losing ~30 megabytes every time [1]
> >
> >
> > I'm on Gtkmm 3.4, but I've run this test case in jhbuild:
> >
> >
> > #include <glibmm/variant.h>
> >
> >
> > int main() {
> > {
> > std::vector<gint64> ints;
> > ints.push_back(2);
> > Glib::VariantContainerBase vints = Glib::Variant< std::vector<gint64>
> > >::create(ints);
> > ints.clear();
> > }
> >
> >
> > return 0;
> > }
> >
> >
> > Valgrind reports:
> > ==2369== LEAK SUMMARY:
> > ==2369== definitely lost: 2 bytes in 1 blocks
> > ==2369== indirectly lost: 0 bytes in 0 blocks
> > ==2369== possibly lost: 4,032 bytes in 7 blocks
> > ==2369== still reachable: 5,595 bytes in 14 blocks
> >
> >
> > Am I not supposed to call ::create() like this?
>
> No, that should be no problem. There was a reference counting problem
> due to some newly added code that forgot to remove some extra
> referencing that would have been necessary without the new code. This
> commit should fix it:
>
> http://git.gnome.org/browse/glibmm/commit/?id=5596d9f3ddca6942d632c85f1cbed475e0a766a8
>
> Thanks for catching this.
Murray, was it okay to fix this directly in git or would you have
preferred something else like putting the patch in a bug report?
> >
> >
> > Thanks.
> >
> >
> > [1] https://github.com/talisein/Horizon/blob/master/src/image_cache.cpp
> > ImageData::get_variant()
> > _______________________________________________
> > gtkmm-list mailing list
> > gtkmm-list gnome org
> > https://mail.gnome.org/mailman/listinfo/gtkmm-list
>
--
José
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]