cyr_expire error

John Capo jc at irbs.com
Tue Dec 19 14:33:59 EST 2006


Quoting Wesley Craig (wes at umich.edu):
> I've seen this behavior (and resolution) as well.  Not sure what the  
> cause is.

I've seen it also but I gave up trying to find a fix and implemented
another mechanism for saving user deleted mail.

Hex dump of a faulty cyrus.expunge problem that caused core dumps.

      0000  0000 0047 0000 0000 0000 0007 0000 004C [...G...........L]
      0010  0000 0048 0000 0000 44C2 575A 0000 0115 [...H....D.WZ....]
      0020  0000 0000 0000 0000 0000 0000 44A6 7E4E [............D.~N]
      0030  0000 0000 0000 0000 0000 0000 0000 0001 [................]
      0040  0000 0000 0000 0000 0000 0000           [............    ]

If I remember correctly, one of the 0 fields winds up being
decremented, or some number subtracted from it, creating an completely
bogus value. cyr_expire would core when it indexed into the mapped
cache file.  I think the core was in this loop in process_records().

   /* Compute size of this record */
   cacheitembegin = cacheitem = mailbox->cache_base + cache_offset;
   for (cache_ent = 0; cache_ent < NUM_CACHE_FIELDS; cache_ent++) {
            cacheitem = CACHE_ITEM_NEXT(cacheitem);
   }

cacheitem would wind up off in space.

This was with very early 2.3 code so whatever I saw may not be what
folks are seeing now.

> 
> :wes
> 
> On 18 Dec 2006, at 12:06, Joseph Brennan wrote:
> >Earlier I wrote:
> >>cyr_expire has started failing with this error:
> >>
> >>  cyr_expire[4729]: IOERROR: bboard zero index/expunge record 4/1591
> >
> >D'oh.  I did "reconstruct bboard" and that fixed whatever it was.
> >
> >But this was repeatedly stopping cyr_expire from continuing.  It is
> >now running through all of the mailboxes it had missed since bboard  
> >got
> >corrupted.
> ----
> Cyrus Home Page: http://cyrusimap.web.cmu.edu/
> Cyrus Wiki/FAQ: http://cyrusimap.web.cmu.edu/twiki
> List Archives/Info: http://asg.web.cmu.edu/cyrus/mailing-list.html


More information about the Info-cyrus mailing list