IOERROR: zero index/expunge record

Patrick Boutilier boutilpj at ednet.ns.ca
Wed Aug 3 17:01:52 EDT 2011


On 08/03/2011 05:41 PM, Bron Gondwana wrote:
> On Wed, 03 Aug 2011 22:12:14 +0200, Marc Muehlfeld
> <Marc.Muehlfeld at medizinische-genetik.de>  wrote:
>
>> Am 03.08.2011 20:59, schrieb Simon Matter:
>>> They should, but be aware that maybe you broght some crap in
>>> /var/lib/imap/db so it was still not clean.
>
> Sorry, I should have jumped on this earlier!  Stuff will get
> created in /var/lib/imap/db if BDB support is compiled in,
> even if you're not using it at all.
>
>> But when I stop cyrus, the db folder just contains the DB_CONFIG file
>> and a 4
>> byte "skipstamp" file. Nothing else. Just when cyrus is running, there
>> are
>> some files in it:
>
> skipstamp is required for skiplist to work well.  That's fine.
>
>> -rw-------  1 cyrus mail    24576  3. Aug 22:06 __db.001
>> -rw-------  1 cyrus mail  6930432  3. Aug 22:06 __db.002
>> -rw-------  1 cyrus mail  2629632  3. Aug 22:06 __db.003
>> -rw-------  1 cyrus mail  1081344  3. Aug 22:06 __db.004
>> -rw-------  1 cyrus mail 38887424  3. Aug 22:06 __db.005
>> -rw-------  1 cyrus mail    57344  3. Aug 22:06 __db.006
>> -rw-r--r--  1 cyrus mail       52 18. Jul 13:04 DB_CONFIG
>> -rw-------  1 cyrus mail 10485760  3. Aug 22:06 log.0000000001
>> -rw-------  1 cyrus mail        4  3. Aug 22:06 skipstamp
>
> man I hate BDB.
>
>> I changed tlscache_db and duplicate_db to skiplist now:
>>
>> # file /var/lib/imap/*.db
>> /var/lib/imap/annotations.db:  Cyrus skiplist DB
>> /var/lib/imap/deliver.db:      Cyrus skiplist DB
>> /var/lib/imap/mailboxes.db:    Cyrus skiplist DB
>> /var/lib/imap/tls_sessions.db: Cyrus skiplist DB
>
> Good idea, but apart from just being nicer DBs - it has nothing to do
> with your IOERROR index/expunge problem.  It's not related to the
> lib/cyrusdb files at all - it's purely mailbox files (cyrus.index
> and cyrus.expunge) related.
>
>>> I don't know, did you also check the ownership and permissions of all
>>> directories?
>>
>> Yes. It's all fine. When I remove the files and do a reconstruct they are
>> recreated and the IOERRORS are gone. On some mailboxes the never came
>> back, on
>> others they came back after hours or some days.
>
> I wish I could help with this - but the memories have faded and I don't
> have
> the time to dig through all my emails looking for my descriptions of where
> I found the bugs in all this - I wound up just replacing the whole blob of
> code (over a thousand lines!) with about 20 lines of pretty clear code,
> using
> a new model of doing mailbox repacks that's a lot simpler.


This sounds like the problem you fixed for me where I was having to 
reconstruct mailboxes every time after a weekly ipurge run hit every 
mailbox. Turns out that you fixed the ipurge utility itself with a one 
or two line patch. But that should be fixed in 2.3.16 .






>
> Bron.
>



More information about the Info-cyrus mailing list