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. GdaConnectionEventValgrind 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. GdaRenderat 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
gnome-db-list gnome org
https://mail.gnome.org/mailman/listinfo/gnome-db-list