Timo Sirainen wrote: > On Tue, 2009-07-14 at 11:08 +0100, Chris Wakelin wrote: >> Error: Corrupted index cache file >> <path>/.imap/INBOX/dovecot.index.cache: field index too large (47 >= 25) > > Wonder if http://hg.dovecot.org/dovecot-1.2/rev/ae3e0ff64c94 fixes it?
I've not seen that one in my stress testing with imaptest on a recent dovecot-latest (1.2.2 plus patches, almost the same as the 1.2.3 release candidate) which I did in earlier versions, so good stuff :) > >>> Jul 14 08:52:53 dovecot: Error: child 17694 (imap) killed with signal 10 >>> (core dumped) > .. >>> #0 mail_cache_get_record (cache=0x124e28, offset=289, rec_r=0xffbeeb6c) >>> at mail-cache-lookup.c:30 >>> 30 if (rec->size < sizeof(*rec)) { > > Fixed: http://hg.dovecot.org/dovecot-1.2/rev/ea2eed32d59e > Likewise. I'm still getting errors like Aug 04 18:01:22 IMAP 23842 <username> 127.0.0.1 : Error: Corrupted index cache file <path>/.imap/INBOX/dovecot.index.cache: used_file_size too large Aug 04 18:01:22 IMAP 23842 <username> 127.0.0.1 : Error: fcntl(write-lock) locking failed for file <path>/.imap/INBOX/dovecot.index.log: Deadlock situation detected/avoided Aug 04 18:01:22 IMAP 23842 <username> 127.0.0.1 : Error: mail_index_wait_lock_fd() failed with file <path>/.imap/INBOX/dovecot.index.log: Deadlock situation detected/avoided Aug 04 18:01:32 IMAP 23840 <username> 127.0.0.1 : Error: stat() failed with index cache file <path>/.imap/INBOX/dovecot.index.cache: No such file or directory on Solaris 8 (64-bit Sparc, but 32-bit binary) and Aug 05 16:42:46 IMAP 29142 <username> 127.0.0.1 : Error: Corrupted index cache file <path>/.imap/INBOX/dovecot.index.cache: used_file_size too large Aug 05 16:42:46 IMAP 29143 <username> 127.0.0.1 : Error: Corrupted index cache file <path>/.imap/INBOX/dovecot.index.cache: used_file_size too large Aug 05 16:43:16 IMAP 29148 <username> 127.0.0.1 : Error: Corrupted index cache file <path>/.imap/INBOX/dovecot.index.cache: used_file_size too large Aug 05 16:43:16 IMAP 29148 <username> 127.0.0.1 : Error: fcntl() failed with mbox file <path>/INBOX: Deadlock situation detected/avoided Aug 05 16:43:16 IMAP 29148 <username> 127.0.0.1 : Error: fcntl() failed with mbox file <path>/INBOX: Deadlock situation detected/avoided Aug 05 16:43:17 IMAP 29149 <username> 127.0.0.1 : Error: Corrupted index cache file <path>/.imap/INBOX/dovecot.index.cache: used_file_size too large Aug 05 16:43:17 IMAP 29147 <username> 127.0.0.1 : Error: Corrupted index cache file <path>/.imap/INBOX/dovecot.index.cache: used_file_size too large Aug 05 16:43:18 IMAP 29150 <username> 127.0.0.1 : Error: Corrupted index cache file <path>/.imap/INBOX/dovecot.index.cache: record points outside file on Solaris 10 (64-bit Sparc, but 32-bit binary) but no errors on Ubuntu 8.04.3 x86_64. When not using concurrent logons, I think it was fine even in 1.2.0 (which made we wonder about a possible race condition?). I've been using something like ./imaptest host=127.0.0.1 port=6143 user=<username> pass=<passwd> mbox=./dovecot-crlf clients=5 msgs=10000 box=INBOX copybox=test1407 seed=140709 for all the tests, resetting the INBOX (which is a ~90MB mbox file with 10,000+ messages) and removing the indexes and test1407 folders each time. Is there a way to make Dovecot abort (or even assert crash for a backtrace) on these errors (which of course, it usually manages transparently to the user)? dovecot -n output ("%J" is a local hash function): # 1.2.2: <path>/etc/dovecot-test1.2.conf # OS: SunOS 5.10 sun4u ufs base_dir: <path>/var/run/dovecot-test1.2/ log_path: <path>/var/log/dovecot-test1.2.log info_log_path: <path>/var/log/dovecot-test1.2.log protocols: imap imaps pop3 pop3s listen(default): *:6143 listen(imap): *:6143 listen(pop3): *:6110 ssl_listen(default): *:6993 ssl_listen(imap): *:6993 ssl_listen(pop3): *:6995 ssl_cert_file: <path>/certs/<hostname>.rdg.ac.uk.crt ssl_key_file: <path>/certs/<hostname>.rdg.ac.uk.key disable_plaintext_auth: no shutdown_clients: no login_dir: <path>/var/run/dovecot-test1.2/login login_executable(default): <path>/libexec/dovecot/imap-login-test1.2 login_executable(imap): <path>/libexec/dovecot/imap-login-test1.2 login_executable(pop3): <path>/libexec/dovecot/pop3-login-test1.2 login_greeting(default): University of Reading IMAP test1.2 ready. login_greeting(imap): University of Reading IMAP test1.2 ready. login_greeting(pop3): University of Reading POP3 test1.2 ready. login_process_per_connection: no max_mail_processes: 4096 verbose_proctitle: yes mail_location: mbox:/export/folders/%Jn/%n/mail/:INBOX=/export/mail/%Jn/%n/INBOX:INDEX=/export/indexes/%Jn/%n mbox_very_dirty_syncs: yes mail_drop_priv_before_exec: yes mail_executable(default): <path>/libexec/dovecot/imap-test1.2 mail_executable(imap): <path>/libexec/dovecot/imap-test1.2 mail_executable(pop3): <path>/libexec/dovecot/pop3-test1.2 mail_plugins(default): zlib mail_plugins(imap): zlib mail_plugins(pop3): mail_plugin_dir(default): <path>/libexec/plugins-1.2 mail_plugin_dir(imap): <path>/libexec/plugins-1.2 mail_plugin_dir(pop3): <path>/lib/dovecot/pop3 mail_log_prefix: %Us %p %u %r : imap_capability(default): IMAP4 IMAP4rev1 IDLE LOGIN-REFERRALS MAILBOX-REFERRALS NAMESPACE LITERAL+ UIDPLUS CHILDREN imap_capability(imap): IMAP4 IMAP4rev1 IDLE LOGIN-REFERRALS MAILBOX-REFERRALS NAMESPACE LITERAL+ UIDPLUS CHILDREN imap_capability(pop3): imap_client_workarounds(default): outlook-idle delay-newmail imap_client_workarounds(imap): outlook-idle delay-newmail imap_client_workarounds(pop3): pop3_reuse_xuidl(default): no pop3_reuse_xuidl(imap): no pop3_reuse_xuidl(pop3): yes pop3_uidl_format(default): %08Xu%08Xv pop3_uidl_format(imap): %08Xu%08Xv pop3_uidl_format(pop3): %08Xv%08Xu pop3_client_workarounds(default): pop3_client_workarounds(imap): pop3_client_workarounds(pop3): outlook-no-nuls namespace: type: private separator: / inbox: yes list: yes subscriptions: yes namespace: type: private separator: / prefix: mail/ hidden: yes list: yes subscriptions: yes namespace: type: private separator: / prefix: ~/mail/ hidden: yes list: yes subscriptions: yes namespace: type: private separator: / prefix: ~%u/mail/ hidden: yes list: yes subscriptions: yes lda: postmaster_address: postmas...@example.com auth default: mechanisms: plain login executable: <path>/libexec/dovecot/dovecot-auth-test1.2 username_format: %Ln verbose: yes debug: yes passdb: driver: passwd-file args: <path>/etc/test_users passdb: driver: passwd-file args: /export/mailconfig/%Jn/%n/migrating deny: yes passdb: driver: passwd-file args: /export/mailconfig/%Jn/%n/proxy.%Ls passdb: driver: ldap args: <path>/etc/dovecot-ldap.conf userdb: driver: passwd-file args: <path>/etc/test_users userdb: driver: passwd-file args: <path>/etc/userdb Best Wishes, Chris -- --+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+- Christopher Wakelin, c.d.wake...@reading.ac.uk IT Services Centre, The University of Reading, Tel: +44 (0)118 378 8439 Whiteknights, Reading, RG6 2AF, UK Fax: +44 (0)118 975 3094