Hi, Le 13/02/2013 14:02, Frank Elsner a écrit : > Hello, > > from time to time we have this type of problem during the nightly cyr_expire: > > Feb 10 04:01:50 mailbackend-4 cyrus-backend/cyr_expire[15569]: IOERROR: user.<username> zero index/expunge record 299/301 > Feb 10 04:01:50 mailbackend-4 cyrus-backend/cyr_expire[15569]: failure expiring user.<username>: System I/O error > Feb 11 04:01:48 mailbackend-4 cyrus-backend/cyr_expire[2010]: IOERROR: user.<username> zero index/expunge record 299/301 > Feb 11 04:01:48 mailbackend-4 cyrus-backend/cyr_expire[2010]: failure expiring user.<username>: System I/O error > Feb 12 04:02:19 mailbackend-4 cyrus-backend/cyr_expire[27580]: IOERROR: user.<username> zero index/expunge record 299/301 > Feb 12 04:02:19 mailbackend-4 cyrus-backend/cyr_expire[27580]: failure expiring user.<username>: System I/O error > Feb 13 04:03:15 mailbackend-4 cyrus-backend/cyr_expire[19753]: IOERROR: user.<username> zero index/expunge record 299/301 > Feb 13 04:03:15 mailbackend-4 cyrus-backend/cyr_expire[19753]: failure expiring user.<username>: System I/O error > > This leaves cyrus.*.NEW files in the mailbox directory of the user and > requires a reconstruct. > > What's behind? And how can we avoid this problem? If you got into a situation like ours, you may have reached the limit for the number of opened file descriptors at some point on your server. If so you may find a bunch of errors at that time in your logs; there should also be some of the messages mentioning "Too many open files in system" or similar. In such a situation, there is a bug that can lead to empty (zeros) index records being added when a message is received, which later triggers "zero index/expunge record" errors. If that's the case, you may try to find how many cyrus processes can run at the same time (maxchild of each service) and how many file descriptors each usually consume to determine a "safe" limit on your system. Note that each shared library consume one file descriptor (mmap by the run-time linker apparently). I believe this situation should not happen anymore in cyrus 2.4 (there is an assertion preventing that). But I don't know what happens for those empty records upon migrating from cyrus 2.3 to 2.4. Regards, Julien ---- Cyrus Home Page: http://www.cyrusimap.org/ List Archives/Info: http://lists.andrew.cmu.edu/pipermail/info-cyrus/ To Unsubscribe: https://lists.andrew.cmu.edu/mailman/listinfo/info-cyrus