On Sun, Oct 31, 2010 at 01:02:19PM +0000, Andy Fiddaman wrote: > > On Sun, 31 Oct 2010, Bron Gondwana wrote: > > ; On Sat, Oct 30, 2010 at 11:19:14PM +0000, Andy Fiddaman wrote: > ; > On Sun, 31 Oct 2010, Bron Gondwana wrote: > ; > ; > ; > ; I don't suppose the stacktrace went any further up than that? I'm > ; > ; more interested in the call-site of mailbox_close, because that's > ; > ; where a dirty mailbox will be being closed. > ; > > ; > Here are a couple: > ; > ; Ok - that's all I needed. This is a bug. I'll push a fix > ; to master straight away, and it will be in 2.4.3. > > Thanks, superb support as always. I'll apply the patch and look at rolling > out 2.4.2 to production this week then go to 2.4.3 when it's out. Sorry - it's stuck in a queue behind some other stuff I don't want to push just yet. Here's the patch attached. The other stuff is pretty shiny - XFER support back to older versions of Cyrus :) Unfortunately there's an issue with .seen support in Cyrus 2.2 that's going to screw me up I think - I'm going to have to create a .seen file as well - with backported entries for each folder! Don't know how that's going to all come together... tricky. Anyway... Here's your patch :) Bron.
>From 32a713e74a8547b9023e4df5ba4e00530e506d1a Mon Sep 17 00:00:00 2001 From: Bron Gondwana <brong@xxxxxxxxx> Date: Sun, 31 Oct 2010 11:22:37 +1100 Subject: [PATCH 1/3] Commit mailbox after annotation based expiry Fixes a bug reported by Andy Fiddaman <cyrus@xxxxxxxxxxxx> on the mailing list. --- imap/cyr_expire.c | 1 + 1 files changed, 1 insertions(+), 0 deletions(-) diff --git a/imap/cyr_expire.c b/imap/cyr_expire.c index a23b1d2..ae9c8a4 100644 --- a/imap/cyr_expire.c +++ b/imap/cyr_expire.c @@ -228,6 +228,7 @@ int expire(char *name, int matchlen, int maycreate __attribute__((unused)), } r = mailbox_expunge(mailbox, expire_cb, erock, NULL); + if (!r) r = mailbox_commit(mailbox); if (r) { syslog(LOG_ERR, "failed to expire old messages: %s", mailbox->name); mailbox_close(&mailbox); -- 1.7.1
---- Cyrus Home Page: http://www.cyrusimap.org/ List Archives/Info: http://lists.andrew.cmu.edu/pipermail/info-cyrus/