Hi!

Looking at the code, it seems this has not been corrected. Can you file a
bug report in Mozilla?
Can you also specify which version you are using, and if possible the part
of you database schema which the code refers to?

Thanks,

Vivien


On 5 April 2014 10:31, Adrien Schwartzentruber <
[email protected]> wrote:

> Hello guys,
>
> I did some memory test using valgrind, and it turns out that i found few
> memory leaks. I can of course add these bug in bugzilla, but I want to have
> the confirmation that these bugs aren't already fixed, and in the first
> case, if the proposition is correct.
>
> 1. GdaConnectionEvent
>
> Valgrind stack trace :
>
>  ==00:00:00:07.808 3268== 820 (320 direct, 500 indirect) bytes in 10
> blocks are definitely lost in loss record 2,219 of 2,365
> ==00:00:00:07.808 3268== at 0x4C2B6CD: malloc (in
> /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
> ==00:00:00:07.808 3268== by 0x4E7FA38: g_malloc (gmem.c:159)
> ==00:00:00:07.808 3268== by 0x4E92C72: g_slice_alloc (gslice.c:1003)
> ==00:00:00:07.808 3268== by 0x4E931B5: g_slice_alloc0 (gslice.c:1029)
> ==00:00:00:07.808 3268== by 0x5AF0889: g_type_create_instance
> (gtype.c:1872)
> ==00:00:00:07.808 3268== by 0x5AD50B8: g_object_constructor
> (gobject.c:1849)
> ==00:00:00:07.808 3268== by 0x5AD66E3: g_object_newv (gobject.c:1713)
> ==00:00:00:07.808 3268== by 0x5AD6EC5: g_object_new_valist (gobject.c:1830)
> ==00:00:00:07.808 3268== by 0x5AD71D3: g_object_new (gobject.c:1545)
> ==00:00:00:07.808 3268== by 0x51690CD:
> gda_connection_point_available_event (gda-connection.c:2606)
> ==00:00:00:07.808 3268== by 0xAD17585:
> gda_mysql_provider_statement_execute (gda-mysql-provider.c:2812)
> ==00:00:00:07.808 3268== by 0x51705F8: gda_connection_statement_execute_v
> (gda-connection.c:3544)
> ==00:00:00:07.808 3268== by 0x517200B: gda_connection_statement_execute
> (gda-connection.c:3725)
> ==00:00:00:07.808 3268== by 0x54F8378: ast_db_record_new_full
> (ast_db.c:652)
> ==00:00:00:07.808 3268== by 0x400909: main (main.c:24)
>
> Correction :
>
> --- a/providers/mysql/gda-mysql-provider.c
> +++ b/providers/mysql/gda-mysql-provider.c
> @@ -2826,6 +2826,11 @@ gda_mysql_provider_statement_execute
> (GdaServerProvider *provider,
> *last_inserted_row = make_last_inserted_set (cnc, stmt, last_row);
> }
>
>  + //Memory leak correction
> + if (event) {
> + g_object_unref(event);
> + }
>
> 2. GdaStatementSelect :
>
> Valgrind stack trace :
>
> ==00:00:00:07.942 18943==    at 0x4C29DB4: calloc (in
> /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
>
> ==00:00:00:07.942 18943==    by 0x4E7FAA0: g_malloc0 (gmem.c:189)
>
> ==00:00:00:07.942 18943==    by 0x51E9DCD: gda_sql_statement_select_new
> (gda-statement-struct-select.c:60)
>
> ==00:00:00:07.942 18943==    by 0x51E3AED: gda_sql_statement_new
> (gda-statement-struct.c:112)
>
> ==00:00:00:07.942 18943==    by 0xAD181F7:
> gda_mysql_provider_statement_execute (gda-mysql-provider.c:2019)
>
> ==00:00:00:07.942 18943==    by 0x51705F8:
> gda_connection_statement_execute_v (gda-connection.c:3544)
>
> ==00:00:00:07.942 18943==    by 0x517200B:
> gda_connection_statement_execute (gda-connection.c:3725)
>
> ==00:00:00:07.942 18943==    by 0x54F8378: ast_db_record_new_full
> (ast_db.c:652)
>
> ==00:00:00:07.942 18943==    by 0x40095C: main (main.c:24)
> 3. GdaRender
>
>  at 0x4C2B6CD: malloc (in
> /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
> ==00:00:00:07.941 18943==    by 0x4E7FA38: g_malloc (gmem.c:159)
> ==00:00:00:07.941 18943==    by 0x4E92C72: g_slice_alloc (gslice.c:1003)
> ==00:00:00:07.941 18943==    by 0x4E93F92: g_slist_append (gslist.c:222)
> ==00:00:00:07.941 18943==    by 0x51BF065: default_render_param_spec
> (gda-statement.c:1395)
> ==00:00:00:07.941 18943==    by 0xAD13E8E: mysql_render_expr
> (gda-mysql-provider.c:1647)
> ==00:00:00:07.941 18943==    by 0xAD163CE: mysql_render_insert
> (gda-mysql-provider.c:1565)
> ==00:00:00:07.941 18943==    by 0xAD155DF:
> gda_mysql_provider_statement_to_sql (gda-mysql-provider.c:1484)
> ==00:00:00:07.941 18943==    by 0xAD1569F: real_prepare
> (gda-mysql-provider.c:1826)
> ==00:00:00:07.941 18943==    by 0xAD159DC:
> gda_mysql_provider_statement_prepare (gda-mysql-provider.c:1917)
> ==00:00:00:07.941 18943==    by 0xAD17386:
> gda_mysql_provider_statement_execute (gda-mysql-provider.c:2208)
> ==00:00:00:07.941 18943==    by 0x51705F8:
> gda_connection_statement_execute_v (gda-connection.c:3544)
> ==00:00:00:07.941 18943==    by 0x517200B:
> gda_connection_statement_execute (gda-connection.c:3725)
> ==00:00:00:07.941 18943==    by 0x54F8378: ast_db_record_new_full
> (ast_db.c:652)
> ==00:00:00:07.941 18943==    by 0x40095C: main (main.c:24)
>
>
> Attached : Code sample
>
>
> _______________________________________________
> gnome-db-list mailing list
> [email protected]
> https://mail.gnome.org/mailman/listinfo/gnome-db-list
>
>
_______________________________________________
gnome-db-list mailing list
[email protected]
https://mail.gnome.org/mailman/listinfo/gnome-db-list

Reply via email to