Cyrus 2.3.12 RC1

Ken Murchison murch at andrew.cmu.edu
Wed Apr 9 07:51:50 EDT 2008


Is there a bug somewhere in the rest of the code that causes this problem?


Bron Gondwana wrote:
> On Tue, Apr 08, 2008 at 10:20:57AM -0400, Ken Murchison wrote:
>> I just put together a release candidate for Cyrus 2.3.12.  I'd
>> appreciate any independent testing before I release this to the masses.
>>
>> http://www.contrib.andrew.cmu.edu/~murch/cyrus-imapd-2.3.12rc1.tar.gz
> 
> Notably missing:
> http://cyrus.brong.fastmail.fm/patches/cyrus-skiplist-transactions-2.3.10.diff
> 
> This is the code that makes it impossible to accidentally start a new
> transaction while still in a transaction on the same file.
> 
> I've re-rolled it to apply directly on top of 2.3.12rc1 so it should
> apply cleanly to CVS as well...
> 
> The "already open" stuff is necessary, because otherwise you wind up
> with two different sets of information about which locks you are
> holding - but at least on linux, if you fcntl lock a file and then
> relock the same range of the same file from the same process, the
> second lock overrides the first one, so a read lock (or unlock) from
> one "database" could nuke the write lock held by the other copy.
> 
> It appears that there are two different copies of the seen database
> still being opened somewhere in the code.  I haven't tracked that
> down yet...
> 
> I am quite happy however to remove the syslog statement so we don't
> confuse people.  The multiple open handing hasn't caused any issues
> here at FastMail, and we've been running this patch for months now.
> 
> ----
> 
> in other things - I haven't tested the rest of the code yet - I
> just thought I'd double-triple-check for this one, since we started
> seeing corruptions on 2.3.11 when I assumed it had been included
> without checking!
> 
> Bron.
> 


-- 
Kenneth Murchison
Systems Programmer
Project Cyrus Developer/Maintainer
Carnegie Mellon University


More information about the Cyrus-devel mailing list