Re: 2.4.2 on Solaris - Crashes in mailbox_unlock_index
On Mon, 1 Nov 2010, Bron Gondwana wrote: ; ; Here's your patch :) Works perfectly, thanks :) Andy Cyrus Home Page: http://www.cyrusimap.org/ List Archives/Info: http://lists.andrew.cmu.edu/pipermail/info-cyrus/
Re: 2.4.2 on Solaris - Crashes in mailbox_unlock_index
On Mon, Nov 01, 2010 at 09:43:46AM +, Andy Fiddaman wrote: On Mon, 1 Nov 2010, Bron Gondwana wrote: ; ; Here's your patch :) Works perfectly, thanks :) Excellent. Like I said, it WILL be in the next release. I just have to fix some other stuff first! (and I suspect Max and Greg will have stuff to fix too - we're all bug fixing or rounding out incomplete stuff which I will call a bug fix even if it's somewhat new featurish... things like tidying up the multi-channel replication stuff that nobody better be using yet because it's only half done!) Bron. Cyrus Home Page: http://www.cyrusimap.org/ List Archives/Info: http://lists.andrew.cmu.edu/pipermail/info-cyrus/
Re: 2.4.2 on Solaris - Crashes in mailbox_unlock_index
On Sun, 31 Oct 2010, Bron Gondwana wrote: ; On Sat, Oct 30, 2010 at 11:19:14PM +, 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. Andy Cyrus Home Page: http://www.cyrusimap.org/ List Archives/Info: http://lists.andrew.cmu.edu/pipermail/info-cyrus/
Re: 2.4.2 on Solaris - Crashes in mailbox_unlock_index
On Sunday, October 31, 2010 02:02:19 pm Andy Fiddaman wrote: On Sun, 31 Oct 2010, Bron Gondwana wrote: ; On Sat, Oct 30, 2010 at 11:19:14PM +, 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. Can we make sure this ends up in Bugzilla as well? Referring to the mailing list thread/post would suffice. Kind regards, Jeroen van Meeuwen Cyrus Home Page: http://www.cyrusimap.org/ List Archives/Info: http://lists.andrew.cmu.edu/pipermail/info-cyrus/
Re: 2.4.2 on Solaris - Crashes in mailbox_unlock_index
On Sun, Oct 31, 2010 at 01:02:19PM +, Andy Fiddaman wrote: On Sun, 31 Oct 2010, Bron Gondwana wrote: ; On Sat, Oct 30, 2010 at 11:19:14PM +, 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 br...@opera.com 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 cy...@fiddaman.net 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/
2.4.2 on Solaris - Crashes in mailbox_unlock_index
Hi, I've just upgraded to Cyrus 2.4 from 2.3 on Solaris 10 and I'm seeing lots of crashes with various utilities in mailbox_unlock_index(). (gdb) where #0 0xfd7ffef41e4a in _lwp_kill () from /lib/64/libc.so.1 #1 0xfd7ffef3a753 in thr_kill () from /lib/64/libc.so.1 #2 0xfd7ffeee6f89 in raise () from /lib/64/libc.so.1 #3 0xfd7ffeec5f00 in abort () from /lib/64/libc.so.1 #4 0x0041a1fb in mailbox_unlock_index (mailbox=0x58cae8, sdata=0x0) at mailbox.c:1544 #5 0x00418c04 in mailbox_close (mailboxptr=0xfd7fffdfdd70) at mailbox.c:1003 Just after the upgrade, I was seeing this during attempted index upgrades (from lmtpd) and reconstruct was failing with the same problem. I removed the cyrus.* files and then reconstruct completed correctly, and subsequent reconstructs were fine too. Everything now seems to be working correctly from the user's perspective, but I'm still getting these crashes with ipurge and cyr_expire. Is anyone else seeing this? Thanks, Andy Cyrus Home Page: http://www.cyrusimap.org/ List Archives/Info: http://lists.andrew.cmu.edu/pipermail/info-cyrus/
Re: 2.4.2 on Solaris - Crashes in mailbox_unlock_index
On Sat, Oct 30, 2010 at 10:45:16PM +, Andy Fiddaman wrote: Hi, I've just upgraded to Cyrus 2.4 from 2.3 on Solaris 10 and I'm seeing lots of crashes with various utilities in mailbox_unlock_index(). (gdb) where #0 0xfd7ffef41e4a in _lwp_kill () from /lib/64/libc.so.1 #1 0xfd7ffef3a753 in thr_kill () from /lib/64/libc.so.1 #2 0xfd7ffeee6f89 in raise () from /lib/64/libc.so.1 #3 0xfd7ffeec5f00 in abort () from /lib/64/libc.so.1 #4 0x0041a1fb in mailbox_unlock_index (mailbox=0x58cae8, sdata=0x0) at mailbox.c:1544 #5 0x00418c04 in mailbox_close (mailboxptr=0xfd7fffdfdd70) at mailbox.c:1003 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. Just after the upgrade, I was seeing this during attempted index upgrades (from lmtpd) and reconstruct was failing with the same problem. I removed the cyrus.* files and then reconstruct completed correctly, and subsequent reconstructs were fine too. Everything now seems to be working correctly from the user's perspective, but I'm still getting these crashes with ipurge and cyr_expire. Is anyone else seeing this? Almost certainly a failure to commit before closing. Which 2.4 are you using? 2.4.2, or 2.4.0? I'm pretty sure we fixed one of these in 2.4.2. There's a fix for chk_cyrus that's not released yet, but I don't think it's that. Bron. Cyrus Home Page: http://www.cyrusimap.org/ List Archives/Info: http://lists.andrew.cmu.edu/pipermail/info-cyrus/
Re: 2.4.2 on Solaris - Crashes in mailbox_unlock_index
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: #0 0xfd7ffef41e4a in _lwp_kill () from /lib/64/libc.so.1 #1 0xfd7ffef3a753 in thr_kill () from /lib/64/libc.so.1 #2 0xfd7ffeee6f89 in raise () from /lib/64/libc.so.1 #3 0xfd7ffeec5f00 in abort () from /lib/64/libc.so.1 #4 0x0041a8d9 in mailbox_unlock_index (mailbox=0x58e3e8, sdata=0x0) at mailbox.c:1544 #5 0x004192e2 in mailbox_close (mailboxptr=0xfd7fffdfe7a8) at mailbox.c:1003 #6 0x00416ca3 in expire ( name=0xfd7fffdfec80 domain.com!user.postmaster, matchlen=31, maycreate=1, rock=0xfd7fffdffb20) at cyr_expire.c:244 #7 0x00424490 in find_cb (rockp=0xfd7fffdff9a0, key=0xfd7ffec501a0 domain.com!user.postmaster, keylen=31, data=0xfd7ffec501c4 0 default postmas...@domain.com\tlrswipcda\tda@domain.com\tlrs\...@domain.com\tlrs\tjwho@domain.com\tlrs\t, datalen=118) at mboxlist.c:1697 #8 0x00458c19 in myforeach (db=0x58d7b0, prefix=0xfd7fffdff190 *, prefixlen=0, goodp=0x423c31 find_p, cb=0x424140 find_cb, rock=0xfd7fffdff9a0, tidptr=0x0) at cyrusdb_skiplist.c:1122 #9 0x00424dc3 in mboxlist_findall (namespace=0x0, pattern=0x58b190 , isadmin=1, userid=0x0, auth_state=0x0, proc=0x4167ed expire, rock=0xfd7fffdffb20) at mboxlist.c:1889 #10 0x00417424 in main (argc=4, argv=0xfd7fffdffc58) at cyr_expire.c:440 #0 0xfd7ffef41e4a in _lwp_kill () from /lib/64/libc.so.1 #1 0xfd7ffef3a753 in thr_kill () from /lib/64/libc.so.1 #2 0xfd7ffeee6f89 in raise () from /lib/64/libc.so.1 #3 0xfd7ffeec5f00 in abort () from /lib/64/libc.so.1 #4 0x0041a1fb in mailbox_unlock_index (mailbox=0x58cae8, sdata=0x0) at mailbox.c:1544 #5 0x00418c04 in mailbox_close (mailboxptr=0xfd7fffdfdd80) at mailbox.c:1003 #6 0x00416c1f in purge_me ( name=0xfd7fffdfddf0 domain.org!user.reci12, matchlen=36, maycreate=1) at ipurge.c:265 #7 0x00423db2 in find_cb (rockp=0xfd7fffdfeb10, key=0xfd7ffed89638 domain.org!user.reci12, keylen=36, data=0xfd7ffed89660 0 default rec...@domain.org\tlrswipcda\t, datalen=52) at mboxlist.c:1697 #8 0x00457899 in myforeach (db=0x58af40, prefix=0xfd7fffdfe300 domain.org!user.reci%, prefixlen=34, goodp=0x423553 find_p, cb=0x423a62 find_cb, rock=0xfd7fffdfeb10, tidptr=0x0) at cyrusdb_skiplist.c:1122 #9 0x004246e5 in mboxlist_findall (namespace=0x5736e0, pattern=0x58e190 user.reci, isadmin=1, userid=0x0, auth_state=0x0, proc=0x416ad1 purge_me, rock=0x0) at mboxlist.c:1889 #10 0x004169e4 in main (argc=5, argv=0xfd7fffdffc38) at ipurge.c:202 Cyrus Home Page: http://www.cyrusimap.org/ List Archives/Info: http://lists.andrew.cmu.edu/pipermail/info-cyrus/
Re: 2.4.2 on Solaris - Crashes in mailbox_unlock_index
On Sat, Oct 30, 2010 at 11:19:14PM +, 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, Bron. Cyrus Home Page: http://www.cyrusimap.org/ List Archives/Info: http://lists.andrew.cmu.edu/pipermail/info-cyrus/