GNOME Bugzilla – Bug 627612
Evolution memory leak
Last modified: 2010-09-03 12:23:56 UTC
==30229== 7,520 (1,024 direct, 6,496 indirect) bytes in 2 blocks are definitely lost in loss record 25,324 of 25,778 ==30229== at 0x4A05255: realloc (vg_replace_malloc.c:476) ==30229== by 0x359F819741: ??? (in /usr/lib64/libfontconfig.so.1.4.4) ==30229== by 0x359F81A207: ??? (in /usr/lib64/libfontconfig.so.1.4.4) ==30229== by 0x359F80DB5D: FcDefaultSubstitute (in /usr/lib64/libfontconfig.so.1.4.4) ==30229== by 0x3A50C0BD3A: ??? (in /usr/lib64/libpangoft2-1.0.so.0.2800.0) ==30229== by 0xE5D1890: ??? (in /usr/lib64/gtk-2.0/modules/libpk-gtk-module.so) ==30229== by 0x3A50819392: ??? (in /usr/lib64/libpango-1.0.so.0.2800.0) ==30229== by 0x3A50819A07: pango_itemize_with_base_dir (in /usr/lib64/libpango-1.0.so.0.2800.0) ==30229== by 0x3A508218F8: ??? (in /usr/lib64/libpango-1.0.so.0.2800.0) ==30229== by 0x3A508241C2: pango_layout_get_iter (in /usr/lib64/libpango-1.0.so.0.2800.0) ==30229== by 0x3A50829473: pango_renderer_draw_layout (in /usr/lib64/libpango-1.0.so.0.2800.0) ==30229== by 0x3A50406C37: ??? (in /usr/lib64/libpangocairo-1.0.so.0.2800.0) ==30229==
fontconfig is not valgrind compatible. This isn't really a bug. It's just that fontconfig abuses pointers in a way that confuses valgrind.
Thanks for the confirmation. Do you have a suppressions file?
I don't. I looked through cairo test suite's suppressions but didn't find useful ones there either. Feel free to pass them on if you happen to write. The exact situation is that fontconfig uses the lower bit of pointer arguments to abuse the pointer as a relative offset from the beginning of the struct containing it. This was done to facilitate mmap()ed cache files.
==16968== 24 bytes in 1 blocks are definitely lost in loss record 7,209 of 22,411 ==16968== at 0x4A0515D: malloc (vg_replace_malloc.c:195) ==16968== by 0x3A4DC45784: g_malloc (in /lib64/libglib-2.0.so.0.2512.0) ==16968== by 0x3A4DC5A8B9: g_slice_alloc (in /lib64/libglib-2.0.so.0.2512.0) ==16968== by 0x3A508167BD: pango_attr_list_new (pango-attributes.c:1111) ==16968== by 0x72B393B: generate_attribute_list (e-name-selector-entry.c:823) ==16968== by 0x72B93D6: user_focus_out (e-name-selector-entry.c:1670) ==16968== by 0x34FA951002: ??? (in /usr/lib64/libgtk-x11-2.0.so.0.2000.1) ==16968== by 0x3A4E40D7BD: g_closure_invoke (in /lib64/libgobject-2.0.so.0.2512.0) ==16968== by 0x3A4E425D68: ??? (in /lib64/libgobject-2.0.so.0.2512.0) ==16968== by 0x3A4E42730B: g_signal_emit_valist (in /lib64/libgobject-2.0.so.0.2512.0) ==16968== by 0x3A4E427D22: g_signal_emit (in /lib64/libgobject-2.0.so.0.2512.0) ==16968== by 0x34FAA8190E: ??? (in /usr/lib64/libgtk-x11-2.0.so.0.2000.1) What about this one? It doesn't seem to involve fontconfig...
You are running with G_SLICE=malloc, right?
Eh, I see you are. Ok, lemme see.
This one looks to me like evolution leaked the attr-list it created.
Thanks. Filed separately as bug 627876