After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 627616 - CamelIMAPXStoreSummary never frees its namespace list
CamelIMAPXStoreSummary never frees its namespace list
Status: RESOLVED FIXED
Product: evolution-data-server
Classification: Platform
Component: Mailer
2.32.x (obsolete)
Other Linux
: Normal normal
: ---
Assigned To: evolution-mail-maintainers
Evolution QA team
evolution[imapx]
Depends on:
Blocks: 627707
 
 
Reported: 2010-08-22 00:25 UTC by David Woodhouse
Modified: 2013-09-14 16:53 UTC
See Also:
GNOME target: ---
GNOME version: ---



Description David Woodhouse 2010-08-22 00:25:41 UTC
==23683== 174 (72 direct, 102 indirect) bytes in 3 blocks are definitely lost in loss record 21,308 of 26,937
==23683==    at 0x4A04481: calloc (vg_replace_malloc.c:418)
==23683==    by 0x3A4DC456A7: g_malloc0 (in /lib64/libglib-2.0.so.0.2512.0)
==23683==    by 0x19DF59E9: imapx_parse_namespace_list (camel-imapx-utils.c:502)
==23683==    by 0x19DFF60B: imapx_untagged (camel-imapx-server.c:1303)
==23683==    by 0x19E05C0A: imapx_step (camel-imapx-server.c:1915)
==23683==    by 0x19E05EB1: imapx_command_run (camel-imapx-server.c:1939)
==23683==    by 0x19E06E43: camel_imapx_server_connect (camel-imapx-server.c:3031)
==23683==    by 0x19E07BA7: camel_imapx_conn_manager_get_connection (camel-imapx-conn-manager.c:240)
==23683==    by 0x19DF92C7: camel_imapx_store_get_server (camel-imapx-store.c:233)
==23683==    by 0x19DFCC36: imapx_sync (camel-imapx-folder.c:214)
==23683==    by 0x66A2017: camel_folder_sync (camel-folder.c:1124)
==23683==    by 0xF175C4B: refresh_folders_exec (mail-send-recv.c:881)
Comment 1 David Woodhouse 2010-08-22 11:01:46 UTC
Perhaps this is it:

--- a/camel/providers/imapx/camel-imapx-server.c
+++ b/camel/providers/imapx/camel-imapx-server.c
@@ -1305,6 +1305,8 @@ imapx_untagged(CamelIMAPXServer *imap, GError **error)
                        CamelIMAPXStore *imapx_store = (CamelIMAPXStore *) imap->store;
                        CamelIMAPXStoreNamespace *ns;
 
+                       /* XXX: Locking? */
+                       camel_imapx_namespace_list_clear(imapx_store->summary->namespaces);
                        imapx_store->summary->namespaces = nsl;
                        camel_store_summary_touch ((CamelStoreSummary *) imapx_store->summary);
Comment 2 David Woodhouse 2010-08-23 09:14:39 UTC
I don't think that was it. I'm still seeing this in my latest tests.
Comment 3 Matthew Barnes 2010-08-27 15:19:38 UTC
CamelIMAPXStoreSummary is missing a finalize() method to free its CamelIMAPXNamespaceList (assuming it owns that structure).
Comment 4 Matthew Barnes 2010-08-27 16:15:13 UTC
I think this should do it.  Fixed for 2.31.91 in:
http://git.gnome.org/browse/evolution-data-server/commit/?id=ce7f6a065a868f5cb769413cecb0b6499df9e35d
Comment 5 Chenthill P 2010-08-29 17:56:32 UTC
Oh already done :) /me removes it off the todo list.