unexpunge segfaults with -l on some mailboxes

Bron Gondwana brong at fastmail.fm
Thu Mar 12 17:39:33 EDT 2009

On Thu, Mar 12, 2009 at 09:08:47AM -0300, Patrick Boutilier wrote:
> Bron Gondwana wrote:
>> On Wed, Mar 11, 2009 at 12:40:28PM -0300, Patrick Boutilier wrote:
>>> Darn. This is caused by mailbox corruption again. My script to detect 
>>>  corruption wasn't working properly. Any idea how we can track down 
>>> what  is causing the corruption?
>> Yeah, I was going to say.
>> It's corrupted cache file offset pointers.  Assuming you upgraded
>> this from an earlier version of Cyrus at some point,
> I believe we started at 1.5.19 and then migrated up through the 2.0 ,  
> 2.2 series. Our last major update was from 2.2.13 to 2.3.11. Currently  
> on 2.3.13
>  cyrus.expunge
>> and cyrus.index files had issues maintaining cache pointer
>> consistency.  You pretty much have to reconstruct all your mailboxes
>> to guarantee consistency I think.
> This latest list of corrupted mailboxes includes many that were  
> correupted a couple of weeks ago (including mine) so this is the second  
> time they have been reconstructed.

Not so good.  Crap.  And this is on 2.3.13?  I don't see any changes
touching that code in the post 2.3.13 changelogs...

>> I'm tempted to protect the code from crashing though... we don't
>> use unexpunge at FastMail, which is probably why I haven't already
>> done so.
>> Something like the attached should do it.  I'll test it more
>> completely and commit it to CVS for 2.3.14 (since Ken hasn't
>> cut a release candidate yet!)
> Thanks for the patch.

Hey, don't use it though - it doesn't even compile!  It was a first
draft.  I'll give you a real patch soon... been working on doing it
_properly_ :)

> Would ipurge be causing the corruption? We currently purge e-mails older  
> than 31 days on a weekly basis. I will turn that off for a bit (since  
> disk space is not as much of an issue as it used to be) and see if the  
> corruption returns.

Oooh... maybe.  I don't use ipurge.  Let me know what you find with
turning it off.  I've never even _looked_ at that code.


More information about the Info-cyrus mailing list