On Wed, May 16, 2007, Peter Rabbitson <[EMAIL PROTECTED]> said: > Leif Jackson wrote: >> Peter, >> >> On second look please test this patch against rev 2579 vanila: >> Index: dbmail-mailbox.c >> =================================================================== >> --- dbmail-mailbox.c (revision 2579) >> +++ dbmail-mailbox.c (working copy) >> @@ -1313,7 +1313,7 @@ >> >> GTree * dbmail_mailbox_get_set(struct DbmailMailbox *self, const char >> *set, gboolean uid) >> { >> - GList *ids = NULL, *sets = NULL; >> + GList *topids, *ids = NULL, *sets = NULL; >> GString *t; >> char *rest; >> u64_t i, l, r, lo = 0, hi = 0; >> @@ -1330,12 +1330,13 @@ >> TRACE(TRACE_DEBUG,"[%s] uid [%d]", set, uid); >> >> if (uid) { >> - ids = g_tree_keys(self->ids); >> - ids = g_list_last(ids); >> + topids = g_tree_keys(self->ids); >> + ids = g_list_last(topids); >> hi = *((u64_t *)ids->data); >> - ids = g_list_first(ids); >> + ids = g_list_first(topids); >> lo = *((u64_t *)ids->data); >> - g_list_free(g_list_first(ids)); >> + //g_list_free(g_list_first(ids)); >> + g_list_free(topids); >> } else { >> lo = 1; >> hi = g_tree_nnodes(self->ids); >> >> >> I think it was cause you tried to use my patch from the old code and >> Paul's changes might have not helped. let me know >> > > Sigh... still same. Here is the relevant part: > > ==5570== 71,330,912 bytes in 287,652 blocks are still reachable in loss > record 26 of 26 > > ==5570== at 0x40226DB: memalign (vg_replace_malloc.c:332) > > > ==5570== by 0x4022735: posix_memalign (vg_replace_malloc.c:425) > > > ==5570== by 0x415E0A3: (within /usr/lib/libglib-2.0.so.0.1200.12) > > > ==5570== by 0x415EAA3: g_slice_alloc (in > /usr/lib/libglib-2.0.so.0.1200.12) > > ==5570== by 0x4145725: g_list_prepend (in > /usr/lib/libglib-2.0.so.0.1200.12) > > ==5570== by 0x4140AF7: (within /usr/lib/libglib-2.0.so.0.1200.12) > > > ==5570== by 0x4140B49: g_key_file_new (in > /usr/lib/libglib-2.0.so.0.1200.12) > > ==5570== by 0x41C5B8C: config_read (config.c:46) > > > ==5570== by 0x41DEE3B: DoConfig (serverparent.c:233) > > > ==5570== by 0x41E02AB: serverparent_getopt (serverparent.c:144) > > > ==5570== by 0x8052435: main (imapd.c:45) > > > ==5570== > > > > Let me know if you need the full logs as before. Off to bed now, > hopefully we can work on this further tomorrow. > > Thank you all for the effort!
This might sound stupid, but is your dbmail.conf unusually large? Like maybe some filesystem corruption concatenated it together with a 71MB file from someplace else? I can't imagine that g_key_file_new is allocating such a large slab; I assume that this is just the first function to request the slab, but you did set the environment variables which turn off the slab allocator, right? Aaron _______________________________________________ Dbmail-dev mailing list Dbmail-dev@dbmail.org http://twister.fastxs.net/mailman/listinfo/dbmail-dev