masters signals cyr_expire to death by 11

Rudy Gevaert Rudy.Gevaert at UGent.be
Wed Sep 5 02:19:21 EDT 2007


Bron Gondwana wrote:
> On Tue, Sep 04, 2007 at 02:28:35PM -0400, Wesley Craig wrote:
>> Just to be clear, that's cyr_expire dying, not being killed by  
>> master.  Signal 11 is SIGSEGV, which is to say a segmentation  
>> violation, i.e., a bug in cyr_expire.  Personally, I've seen this  
>> error on a lot of systems.  The mailbox after the last one you listed  
>> probably has a corrupt meta file -- indicative of a bug in another  
>> process.  Reconstruct will typically correct these sorts of problems.
> 
> http://cyrus.brong.fastmail.fm/patches/cyrus-expire-prefix-2.3.9.diff
> 
> Basically, the cyrus.cache file has a bunch of field length data in it,
> and cyr_expire walks through that.  If you have a corrupt cyrus.cache
> then it will calculate the next memory address outside the mmap'ed
> file and *BOOM* - segfault.
> 
> The patch above does range checking on the next calculated address each
> time, and if it's outside the range, it logs the mailbox and return
> IOERROR.  You still need to reconstruct, but at least cyr_expire keeps
> running and you have the exact mailbox with the error in your logs
> (otherwise you only have the last mailbox with messages expunged, which
> gives a range to check but not an exact target)
> 
> (it also adds a -p "mailbox prefix" option to allow you to expire just
> a small range of mailboxes for easy finding of your bogus folder again)

Thank you for the responds.  I'll try to run reconstruct on the mailbox. 
  And I hope to upgrade to 2.3.9 soon, I'm already running a small 
instance with a couple of your patches Bron.  But I still got 6 to 
upgrade and those are rather hudge.

Rudy

-- 
-- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
Rudy Gevaert          Rudy.Gevaert at UGent.be          tel:+32 9 264 4734
Directie ICT, afd. Infrastructuur ICT Department, Infrastructure office
Groep Systemen                    Systems group
Universiteit Gent                 Ghent University
Krijgslaan 281, gebouw S9, 9000 Gent, Belgie               www.UGent.be
-- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --


More information about the Info-cyrus mailing list