IOERROR: zero index/expunge record

Bron Gondwana brong at
Wed Aug 3 16:41:29 EDT 2011

On Wed, 03 Aug 2011 22:12:14 +0200, Marc Muehlfeld  
<Marc.Muehlfeld at> 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  
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,  
a new model of doing mailbox repacks that's a lot simpler.


Using Opera's revolutionary email client:

More information about the Info-cyrus mailing list