Re: [gnome-db] gda_init



On 5/10/07, Piotr Pokora <piotrek pokora gmail com> wrote:

        Hi!

I use gda with Apache module, and recently I am testing memory usage with valgrind.

There's gda_init call when Apache starts, and plenty of like these in valgrind's report:

==3727== 2,048 bytes in 1 blocks are still reachable in loss record 1,373 of 1,451
==3727==    at 0x40244B0: malloc (vg_replace_malloc.c:149)
==3727==    by 0x402453A: realloc (vg_replace_malloc.c:306)
==3727==    by 0x4F92FAA: g_realloc (in /usr/lib/libglib-2.0.so.0.1200.11)
==3727==    by 0x4F78A9E: g_quark_from_static_string (in /usr/lib/libglib-2.0.so.0.1200.11)
==3727==    by 0x501550D: g_type_init_with_debug_flags (in /usr/lib/libgobject-2.0.so.0.1200.11)==3727==    by 0x50156E1: g_type_init (in /usr/lib/libgobject-2.0.so.0.1200.11)
==3727==    by 0x508EFEE: gda_init (gda-init.c:65)

==3727== 2,176 bytes in 34 blocks are still reachable in loss record 1,374 of 1,451
==3727==    at 0x40244B0: malloc (vg_replace_malloc.c:149)
==3727==    by 0x4E54C3C: xmlAddAttributeDecl (in /usr/lib/libxml2.so.2.6.28)
==3727==    by 0x4EE1EBE: xmlSAX2AttributeDecl (in /usr/lib/libxml2.so.2.6.28)
==3727==    by 0x4E2FB2E: xmlParseAttributeListDecl (in /usr/lib/libxml2.so.2.6.28)
==3727==    by 0x4E3124D: xmlParseMarkupDecl (in /usr/lib/libxml2.so.2.6.28)
==3727==    by 0x4E31B94: xmlParseExternalSubset (in /usr/lib/libxml2.so.2.6.28)
==3727==    by 0x4E31E83: xmlSAXParseDTD (in /usr/lib/libxml2.so.2.6.28)
==3727==    by 0x4E31F9F: xmlParseDTD (in /usr/lib/libxml2.so.2.6.28)
==3727==    by 0x508F101: gda_init (gda-init.c:106)

==3727== 2,221 bytes in 142 blocks are still reachable in loss record 1,376 of 1,451
==3727==    at 0x40244B0: malloc (vg_replace_malloc.c:149)
==3727==    by 0x4E90D15: xmlStrndup (in /usr/lib/libxml2.so.2.6.28)
==3727==    by 0x4E90ED3: xmlStrdup (in /usr/lib/libxml2.so.2.6.28)
==3727==    by 0x4E5501E: xmlAddAttributeDecl (in /usr/lib/libxml2.so.2.6.28)
==3727==    by 0x4EE1EBE: xmlSAX2AttributeDecl (in /usr/lib/libxml2.so.2.6.28)
==3727==    by 0x4E2FB2E: xmlParseAttributeListDecl (in /usr/lib/libxml2.so.2.6.28)
==3727==    by 0x4E3124D: xmlParseMarkupDecl (in /usr/lib/libxml2.so.2.6.28)
==3727==    by 0x4E31B94: xmlParseExternalSubset (in /usr/lib/libxml2.so.2.6.28)
==3727==    by 0x4E31E83: xmlSAXParseDTD (in /usr/lib/libxml2.so.2.6.28)
==3727==    by 0x4E31F9F: xmlParseDTD (in /usr/lib/libxml2.so.2.6.28)
==3727==    by 0x508F0C8: gda_init (gda-init.c:99)

==3727== 2,480 bytes in 10 blocks are still reachable in loss record 1,380 of 1,451
==3727==    at 0x40236DB: memalign (vg_replace_malloc.c:332)
==3727==    by 0x4023735: posix_memalign (vg_replace_malloc.c:425)
==3727==    by 0x4FA24C7: (within /usr/lib/libglib-2.0.so.0.1200.11)
==3727==    by 0x4FA2EFE: g_slice_alloc (in /usr/lib/libglib-2.0.so.0.1200.11)
==3727==    by 0x4F79745: g_datalist_id_set_data_full (in /usr/lib/libglib-2.0.so.0.1200.11)
==3727==    by 0x5000A50: (within /usr/lib/libgobject-2.0.so.0.1200.11)
==3727==    by 0x501CCDB: g_type_create_instance (in /usr/lib/libgobject-2.0.so.0.1200.11)
==3727==    by 0x5003BB1: (within /usr/lib/libgobject-2.0.so.0.1200.11)
==3727==    by 0x5001E27: g_object_newv (in /usr/lib/libgobject-2.0.so.0.1200.11)
==3727==    by 0x5002A4E: g_object_new_valist (in /usr/lib/libgobject-2.0.so.0.1200.11)
==3727==    by 0x5002B5F: g_object_new (in /usr/lib/libgobject-2.0.so.0.1200.11)
==3727==    by 0x50C7145: gda_row_new (gda-row.c:298)

I know that GType system data are almost always reported as "still reachable"  but I am not sure
about those initialized with libxml.

Should I consider this as memory leak or can I ignore these reports?

Could you report that to the LibXML project? As far as Libgda is
concerned, I think they are harmless and can safely be ignored.

The strange thing is I don't get those warnings myself (using valgrind
3.2.3)... Do you use some special valgrind options?

Vivien



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]