Re: IOERROR: zero index/expunge record
Hi Bron, thanks for the long explanation, even if I don't understand everything. :-) It sounds like there is no way to fix this by a configuration parameter or migrating a database or so. And if the only way is to patch the current version or compile a new one, then I think the new one is the better idea. Can I keep the cyrus-sasl packages from my distribution and just replace the imapd with the latest version? This are the cyrus packages I currently have installed cyrus-imapd-2.3.16-6.el6_1.2.x86_64 cyrus-imapd-utils-2.3.16-6.el6_1.2.x86_64 cyrus-sasl-2.1.23-8.el6.x86_64 cyrus-sasl-lib-2.1.23-8.el6.x86_64 cyrus-sasl-plain-2.1.23-8.el6.x86_64 When I upgrade to 2.4.10, are there any migrations I have to do (like databases)? Or can I just compile and update the daemon and utils and start cyrus again? Regards, Marc Cyrus Home Page: http://www.cyrusimap.org/ List Archives/Info: http://lists.andrew.cmu.edu/pipermail/info-cyrus/
Re: IOERROR: zero index/expunge record
On Thu, 04 Aug 2011 09:51:07 +0200, Marc Muehlfeld marc.muehlf...@medizinische-genetik.de wrote: Hi Bron, thanks for the long explanation, even if I don't understand everything. :-) It sounds like there is no way to fix this by a configuration parameter or migrating a database or so. And if the only way is to patch the current version or compile a new one, then I think the new one is the better idea. Pretty much - and the patch would be super-invasive even if someone did write it. Can I keep the cyrus-sasl packages from my distribution and just replace the imapd with the latest version? Yes - we use cyrus-sasl as shipped by our vendor (Debian in our case). You will need the cyrus-sasl-devel package (or whatever it's called). Or talk to Jeroen about pre-compiled Cyrus RPMs. He probably has some. This are the cyrus packages I currently have installed cyrus-imapd-2.3.16-6.el6_1.2.x86_64 cyrus-imapd-utils-2.3.16-6.el6_1.2.x86_64 cyrus-sasl-2.1.23-8.el6.x86_64 cyrus-sasl-lib-2.1.23-8.el6.x86_64 cyrus-sasl-plain-2.1.23-8.el6.x86_64 When I upgrade to 2.4.10, are there any migrations I have to do (like databases)? Or can I just compile and update the daemon and utils and start cyrus again? Everything should migrate itself automatically. It will be VERY slow for a while while it basically does a reconstruct of each mailbox first time you open it to upgrade some of the datastructures. Bron. -- Using Opera's revolutionary email client: http://www.opera.com/mail/ Cyrus Home Page: http://www.cyrusimap.org/ List Archives/Info: http://lists.andrew.cmu.edu/pipermail/info-cyrus/
Re: IOERROR: zero index/expunge record
Am 04.08.2011 10:06, schrieb Bron Gondwana: Pretty much - and the patch would be super-invasive even if someone did write it. I opened a bugreport at redhat: https://bugzilla.redhat.com/show_bug.cgi?id=728148 Maybe they will fix it. Everything should migrate itself automatically. It will be VERY slow for a while while it basically does a reconstruct of each mailbox first time you open it to upgrade some of the datastructures. I'll setup a test system during the next days and try switching to 2.4.10. Just because of being curious: If I switch to the latest version now, is it possible to switch back to the distribution version, if Redhat fix it? Or is a downgrade not possible? Thanks for the great help. Regards, Marc Cyrus Home Page: http://www.cyrusimap.org/ List Archives/Info: http://lists.andrew.cmu.edu/pipermail/info-cyrus/
Re: IOERROR: zero index/expunge record
Am 04.08.2011 10:06, schrieb Bron Gondwana: Pretty much - and the patch would be super-invasive even if someone did write it. I opened a bugreport at redhat: https://bugzilla.redhat.com/show_bug.cgi?id=728148 Maybe they will fix it. Hi, The interesting point is why do you see those problems and others do not. Since you are running a rebuild of stock RHEL6 cyrus-imapd package it seems like others should have the same problem since it's out for quite some time. Everything should migrate itself automatically. It will be VERY slow for a while while it basically does a reconstruct of each mailbox first time you open it to upgrade some of the datastructures. I'll setup a test system during the next days and try switching to 2.4.10. Just because of being curious: If I switch to the latest version now, is it possible to switch back to the distribution version, if Redhat fix it? Or is a downgrade not possible? You can not directly go back because of the upgrade some of the datastructures. While I can suggest running 2.4.10 I'm quite sure it should also work fine with 2.3.16. So there may really be something wrong with your system. I'd try to find out first what's going on. I could send you my 2.4.10 rpms for EL6 (i686 or x86_64) for testing, but I don't think it's a good idea to upgrade your production box if you may want to go back to 2.3.16 later. Simon Cyrus Home Page: http://www.cyrusimap.org/ List Archives/Info: http://lists.andrew.cmu.edu/pipermail/info-cyrus/
Re: IOERROR: zero index/expunge record
Am 03.08.2011 06:55, schrieb Simon Matter: Something is wrong with the database because Cyrus-imapd uses a number of databases. So I guess here is a problem. I removed cyrus.cache, cyrus.index and cyrus.header out of the users broken mailbox and run a reconstruct to recreate them. For some mailboxes this fixes the issue. But for some it comes back after hours or days. I also read that I should run db_recover -h /var/lib/imap/db while the cyrus services are stopped. But this doesn't help either. What other databases could be affected and how can I fix them? Do you not see any other errors in the Cyrus logs? No. The imap[21918]: IOERROR: user.xxx zero index/expunge record 41/47 errors are the only ones. Regards, Marc Cyrus Home Page: http://www.cyrusimap.org/ List Archives/Info: http://lists.andrew.cmu.edu/pipermail/info-cyrus/
Re: IOERROR: zero index/expunge record
Am 03.08.2011 06:55, schrieb Simon Matter: Something is wrong with the database because Cyrus-imapd uses a number of databases. So I guess here is a problem. I removed cyrus.cache, cyrus.index and cyrus.header out of the users broken mailbox and run a reconstruct to recreate them. For some mailboxes this fixes the issue. But for some it comes back after hours or days. I also read that I should run db_recover -h /var/lib/imap/db while the cyrus services are stopped. But this doesn't help either. What other databases could be affected and how can I fix them? Well, I don't know what configuration EL6 ships with. At least the db_recover command above will only work on BDB but not on skiplist databases. What does file /var/lib/imap/*.db show? Simon Do you not see any other errors in the Cyrus logs? No. The imap[21918]: IOERROR: user.xxx zero index/expunge record 41/47 errors are the only ones. Regards, Marc Cyrus Home Page: http://www.cyrusimap.org/ List Archives/Info: http://lists.andrew.cmu.edu/pipermail/info-cyrus/
Re: IOERROR: zero index/expunge record
Am 03.08.2011 09:47, schrieb Simon Matter: Well, I don't know what configuration EL6 ships with. At least the db_recover command above will only work on BDB but not on skiplist databases. What does file /var/lib/imap/*.db show? The configuration is the same that we used on Centos 5 before for years. # file /var/lib/imap/*.db /var/lib/imap/annotations.db: Cyrus skiplist DB /var/lib/imap/deliver.db: Berkeley DB (Btree, version 9, native byte-order) /var/lib/imap/mailboxes.db:Cyrus skiplist DB /var/lib/imap/tls_sessions.db: Berkeley DB (Btree, version 9, native byte-order) So, you are still using Berkeley DB but the versions are different. How did you upgrade those files? I suggest to switch to skiplist for all databases. And make sure you clean up /var/lib/imap/db. BTW, deliver.db and tls_sessions.db are not so important, you could configure skiplist and just remove those dbs and also the content of /var/lib/imap/db. Simon Cyrus Home Page: http://www.cyrusimap.org/ List Archives/Info: http://lists.andrew.cmu.edu/pipermail/info-cyrus/
Re: IOERROR: zero index/expunge record
On Wed, Aug 03, 2011 at 08:59:01PM +0200, Simon Matter wrote: Skiplist is the default with 2.4. With 2.3 I'm still consider skiplist recommended. I'm running all my system skiplist only for a long time. Skiplist is recommended in 2.3.12+ The IOERROS could (temporarily) repaired by removing cyrus.cache and cyrus.index (sometimes cyrus.header also) and doing a reconstruct. Also I have this *.NEW files in the mailbox folder when it's bringing this errors. Couldn't be a problem with this files or processes that access this files, too? Or could it result from the other (BDB) databases? I don't know, did you also check the ownership and permissions of all directories? Also check out your locking. If this is 2.4.x, make sure you don't have anything cleaning up the 'mboxname_lockpath' directory. What version are you running? Bron. Cyrus Home Page: http://www.cyrusimap.org/ List Archives/Info: http://lists.andrew.cmu.edu/pipermail/info-cyrus/
Re: IOERROR: zero index/expunge record
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. 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: -rw--- 1 cyrus mail24576 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 mail57344 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.01 -rw--- 1 cyrus mail4 3. Aug 22:06 skipstamp How do I switch the two BDB databases to skiplist? I think tlscache_db is the parameter for tls_sessions. But which one is responsible for deliver.db? That's duplicate_db, 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 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. Cyrus Home Page: http://www.cyrusimap.org/ List Archives/Info: http://lists.andrew.cmu.edu/pipermail/info-cyrus/
Re: IOERROR: zero index/expunge record
Am 03.08.2011 21:34, schrieb Bron Gondwana: Also check out your locking. If this is 2.4.x, make sure you don't have anything cleaning up the 'mboxname_lockpath' directory. Is there anything I can check ybout locking in 2.3.16? What version are you running? 2.3.16 that was shipped with Scientific Linux 6 (RHEL 6). Cyrus Home Page: http://www.cyrusimap.org/ List Archives/Info: http://lists.andrew.cmu.edu/pipermail/info-cyrus/
Re: IOERROR: zero index/expunge record
On Wed, 03 Aug 2011 22:14:23 +0200, Marc Muehlfeld marc.muehlf...@medizinische-genetik.de wrote: Am 03.08.2011 21:34, schrieb Bron Gondwana: Also check out your locking. If this is 2.4.x, make sure you don't have anything cleaning up the 'mboxname_lockpath' directory. Is there anything I can check ybout locking in 2.3.16? Oh - great, 2.3.16. Hang on a second while I unrecycle some memories and check out the code. And let's have copies of your imapd.conf and cyrus.conf while we're at it. Feel free to check imapd.conf for passwords and strip them first, there are a couple of replication and murder configurations which store files in imapd.conf. What version are you running? 2.3.16 that was shipped with Scientific Linux 6 (RHEL 6). ---/* Sanity check */ ---if (*((bit32 *)(buf+OFFSET_UID)) == 0) { ---syslog(LOG_ERR, IOERROR: %s zero index/expunge record %u/%lu, -- mailbox-name, msgno, exists); ---return IMAP_IOERROR; ---} I thought that looked familiar. That would be me who wrote that line I think. Unfortunately git blame isn't much help due to the way branches from CVS got moved over. I'm pretty sure I remember dealing with this. So you have corrupted cyrus.index files. I don't suppose you kept any of them? Do you have delayed expunge? I really can't remember now exactly what cause this - but there some pattern of accesses and expunges that could trigger it. I just can't remember what it was now. I know I used to clean up from them occasionally back before 2.4 was done. It was probably to do with aborted appends. Gah. Something horrible about locking being incorrect. Certainly if you repack a mailbox that has cyrus.index and cyrus.expire files that have the same UID in them, then you're going to be rather screwed. I know we had that happen sometimes, but I don't remember why now. I'm sorry. I do recommend upgrading to 2.4.10, despite the initial IO hit of the upgrade. The repack on expunge in 2.3.x was really, really complex and buggy. Bron. -- Using Opera's revolutionary email client: http://www.opera.com/mail/ Cyrus Home Page: http://www.cyrusimap.org/ List Archives/Info: http://lists.andrew.cmu.edu/pipermail/info-cyrus/
Re: IOERROR: zero index/expunge record
On Wed, 03 Aug 2011 22:12:14 +0200, Marc Muehlfeld marc.muehlf...@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 mail24576 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 mail57344 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.01 -rw--- 1 cyrus mail4 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. Bron. -- Using Opera's revolutionary email client: http://www.opera.com/mail/ Cyrus Home Page: http://www.cyrusimap.org/ List Archives/Info: http://lists.andrew.cmu.edu/pipermail/info-cyrus/
Re: IOERROR: zero index/expunge record
On 08/03/2011 05:41 PM, Bron Gondwana wrote: On Wed, 03 Aug 2011 22:12:14 +0200, Marc Muehlfeld marc.muehlf...@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 mail24576 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 mail57344 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.01 -rw--- 1 cyrus mail4 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. Cyrus Home Page: http://www.cyrusimap.org/ List Archives/Info: http://lists.andrew.cmu.edu/pipermail/info-cyrus/
Re: IOERROR: zero index/expunge record
Am 03.08.2011 22:37, schrieb Bron Gondwana: And let's have copies of your imapd.conf and cyrus.conf while we're at it. /etc/imapd.conf: http://pastebin.com/D8Szgmqk /etc/cyrus.conf: http://pastebin.com/CL2M64AR So you have corrupted cyrus.index files. I don't suppose you kept any of them? I can send you a copy of a complete broken mail folder including cyrus.cache, cyrus.cache.NEW, cyrus.header, cyrus.index, cyrus.index.NEW and mails. It's nothing secret. It's a subfolder of my mailbox where I put the mails from this mailing list in. I'll send it in a separate mail to your address. Do you have delayed expunge? Where can I check this? I do recommend upgrading to 2.4.10, despite the initial IO hit of the upgrade. The repack on expunge in 2.3.x was really, really complex and buggy. If there is a change, we would stay at the version that comes with the distrubution, because then we can easily update on bugs or security issues through the repository. But if there's a bug, that could be fixed I, or whoever, can send it to redhat. Cyrus Home Page: http://www.cyrusimap.org/ List Archives/Info: http://lists.andrew.cmu.edu/pipermail/info-cyrus/
Re: IOERROR: zero index/expunge record
Am 03.08.2011 23:01, schrieb Patrick Boutilier: 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 . Here the mailboxes break on differnent times. I wrote a small cronjob that check all mailboxes for *.NEW files and run this every 15 mins. Here's a short list of the last half day when broken mailboxes were found: 2011-08-03 23:00:03: 3 folders Mailbox user. Mailbox user..DokumentenAOQ-nderungsantrAOQ-ge Mailbox user. 2011-08-03 22:45:02: 2 folders Mailbox user. Mailbox user. 2011-08-03 22:30:03: 2 folders Mailbox user..Sent Mailbox user. Mailbox user. 2011-08-03 18:00:01: 2 folders Mailbox user. Mailbox user..Automatisierung 2011-08-03 15:30:02: 1 folder Mailbox user. I replaced the usernames with letters. Same letters are same usernames. My small script removes all *.NEW files and the corresponding files and runs a reconstruct on the mailbox. This is a workaround to fix the mailboxes automatically. As you can see, some mailboxes break after a few hours again. Regards, Marc Cyrus Home Page: http://www.cyrusimap.org/ List Archives/Info: http://lists.andrew.cmu.edu/pipermail/info-cyrus/
Re: IOERROR: zero index/expunge record
Am 03.08.2011 23:27, schrieb Patrick Boutilier: I see drac stuff in imapd.conf. You must be using a patched version of Cyrus that supports Dynamic Relay Authorization Control ? I use the version that is shipped with Scientific Linux 6 (RHEL6). The origin config file was created about 8 years ago. I think there is nothing that uses this drac parameters any more. Cyrus Home Page: http://www.cyrusimap.org/ List Archives/Info: http://lists.andrew.cmu.edu/pipermail/info-cyrus/
Re: IOERROR: zero index/expunge record
On Wed, 03 Aug 2011 23:13:16 +0200, Marc Muehlfeld marc.muehlf...@medizinische-genetik.de wrote: Am 03.08.2011 22:37, schrieb Bron Gondwana: And let's have copies of your imapd.conf and cyrus.conf while we're at it. /etc/imapd.conf: http://pastebin.com/D8Szgmqk /etc/cyrus.conf: http://pastebin.com/CL2M64AR Sure. So you have corrupted cyrus.index files. I don't suppose you kept any of them? I can send you a copy of a complete broken mail folder including cyrus.cache, cyrus.cache.NEW, cyrus.header, cyrus.index, cyrus.index.NEW and mails. It's nothing secret. It's a subfolder of my mailbox where I put the mails from this mailing list in. I'll send it in a separate mail to your address. Thanks, comments below. Do you have delayed expunge? Where can I check this? imapd.conf, and no you don't. I do recommend upgrading to 2.4.10, despite the initial IO hit of the upgrade. The repack on expunge in 2.3.x was really, really complex and buggy. If there is a change, we would stay at the version that comes with the distrubution, because then we can easily update on bugs or security issues through the repository. But if there's a bug, that could be fixed I, or whoever, can send it to redhat. Good luck with that. It's not an easy fix, which is part of why I rewrote that whole section after a couple of years of soul searching about the amount of work it would bloody well entail. Took about a year. Here's some interesting dump from your cyrus.index: 23 1311668694 1311674400 6022 5038 5038 40660 1311668975 0001 34 2 1 0 0 0 0 0 0 0 0 0 0 0 25 1311688444 1311674400 5130 4545 4545 45252 1311692683 0001 18 2 1 All the UIDs are perfectly sane right up until 24, which is totally blank. Then 25 is good again. That last number is MODSEQ - so there's no corruption at all within the records. A totally blank record got written. It's also not anywhere interesting blockwise, so unlikely to be any OS MMAP problem (we have had them). 0840 00 00 00 00 00 00 00 01 00 00 00 00 00 00 00 00 || 0850 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 || * 08a0 00 00 00 19 4e 2e c6 fc 4e 2e 90 20 00 00 14 0a |N...N.. | 08b0 00 00 11 c1 00 00 11 c1 00 00 b0 c4 4e 2e d7 8b |N...| That's the hexdump of the interesting area - a long run of zero bytes. Unsurpringly, cyrus.index.NEW runs up to the same point and then throws an error. 24. is a perfectly normal email file - so nothing going on there. SOMETHING wrote a blank record. It would be significantly easier to find that something on 2.4 because there's only one API function that can write to cyrus.index records (strictly there are two - one handles appends and the other handles rewrites - but they both use the same supporting function to format the record) Now as for what did it? That's going to be harder to track down. How comfortable are you with patching and building your own Cyrus? While it's nice to run the distribution package, distributions are shipping disgracefully old versions of Cyrus. At least 2.3.16 isn't too bad! I'm afraid the next thing is to look for anything interesting in your syslog, but changes are that there's not enough information being logged to help. The problem is, this zeroed record could be caused anywhere, and you wouldn't find out until you went to repack during an expunge. Bron. -- Using Opera's revolutionary email client: http://www.opera.com/mail/ Cyrus Home Page: http://www.cyrusimap.org/ List Archives/Info: http://lists.andrew.cmu.edu/pipermail/info-cyrus/
Re: IOERROR: zero index/expunge record
Does anybody have an idea what cause this problem and how to finally fix it? Am 22.07.2011 10:19, schrieb Marc Muehlfeld: Hi, two weeks ago we migrated from Centos 5.6 (cyrus 2.3.7) to Scientific Linux 6.0 (cyrus 2.3.16). Since that day some users are having problems with their mailbox. Thunderbird shows them IOERRORS and some are seeing undeletable mails with no content. The imapd's logfile contains the following: imap[21918]: IOERROR: user.xxx zero index/expunge record 41/47 imap[16600]: IOERROR: user.yyy zero index/expunge record 16/17 Also the mailbox (sub-)folder contains *.NEW files when this happens: -rw--- 1 cyrus mail 13660 22. Jul 09:22 cyrus.cache.NEW -rw--- 1 cyrus mail800 22. Jul 09:22 cyrus.index.NEW Reconstructing the mailbox removes the *.NEW files and it's working for some hours or a day. But the problem and the *NEW files are always comming back. But reconstructing several mailboxes every day can't be the solution. On client side nothing had changed. For the migration the database was converted to text on the old system and reimported on SL6 using ctl_mboxlist. /etc/imapd.conf and /etc/cyrus.conf are copied from the old system. Does anybody have an idea what could be wrong and how it could be fixed? Regards, Marc Cyrus Home Page: http://www.cyrusimap.org/ List Archives/Info: http://lists.andrew.cmu.edu/pipermail/info-cyrus/
Re: IOERROR: zero index/expunge record
Does anybody have an idea what cause this problem and how to finally fix it? Am 22.07.2011 10:19, schrieb Marc Muehlfeld: Hi, two weeks ago we migrated from Centos 5.6 (cyrus 2.3.7) to Scientific Linux 6.0 (cyrus 2.3.16). Since that day some users are having problems with their mailbox. Thunderbird shows them IOERRORS and some are seeing undeletable mails with no content. The imapd's logfile contains the following: imap[21918]: IOERROR: user.xxx zero index/expunge record 41/47 imap[16600]: IOERROR: user.yyy zero index/expunge record 16/17 Also the mailbox (sub-)folder contains *.NEW files when this happens: -rw--- 1 cyrus mail 13660 22. Jul 09:22 cyrus.cache.NEW -rw--- 1 cyrus mail800 22. Jul 09:22 cyrus.index.NEW Reconstructing the mailbox removes the *.NEW files and it's working for some hours or a day. But the problem and the *NEW files are always comming back. But reconstructing several mailboxes every day can't be the solution. On client side nothing had changed. For the migration the database was converted to text on the old system and Something is wrong with the database because Cyrus-imapd uses a number of databases. So I guess here is a problem. Do you not see any other errors in the Cyrus logs? Simon Cyrus Home Page: http://www.cyrusimap.org/ List Archives/Info: http://lists.andrew.cmu.edu/pipermail/info-cyrus/