Timo Sirainen wrote:
However, I think a more simple way to recreate the problem is to simply delete an existing maildir (with existing indexes) and send a message to it. This shows the behavior every time on my system. I'll attach a tar of all files in the index dir to this email though.
Nope, can't reproduce any problems.. Can you try the latest snapshot? Maybe these have been fixed already. http://dovecot.org/nightly/dovecot-latest.tar.gz
No dice, problem still happens. I'll provide some extra info at the bottom of this, everything I can think of that may be of any interest. I can get you access to this machine if it comes down to that. Just to restate, to test the nightly build I followed this procedure:
Stopped existing dovecot process. Built dovecot with this: ./configure --sysconfdir=/etc/dovecot --with-mysql --with-ioloop=epoll make install start dovecot rm -rf /var/indexes/* rm -rf /var/mailstore/.../Maildir (for the test account) send test message rm -rf /var/mailstore/.../Maildir send test message (corruption error, temporary failure to postfix, but message delivered)
Result is the same every time I repeat that process. So, I already gave my configure options (tried without specifying an ioloop, resulting in poll being used instead, with no effect). Here is the summary after configure runs:
Install prefix ...................... : /usr/local File offsets ........................ : 64bit I/O loop method ..................... : epoll File change notification method ..... : dnotify Building with SSL support ........... : yes (OpenSSL) Building with IPv6 support .......... : yes Building with pop3 server ........... : yes Building with mail delivery agent .. : yes Building with GSSAPI support ........ : no Building with user database modules . : static prefetch passwd passwd-file checkpassword sql (modules) Building with password lookup modules : passwd passwd-file shadow checkpassword sql (modules) Building with SQL drivers ............: mysql
The machine is an AMD 64 running CentOS 4.4.
And finally, dovecot -n:
# /etc/dovecot/dovecot.conf base_dir: /var/run/dovecot/ protocols: imap pop3 ssl_disable: yes disable_plaintext_auth: no login_dir: /var/run/dovecot/login login_executable(default): /usr/local/libexec/dovecot/imap-login login_executable(imap): /usr/local/libexec/dovecot/imap-login login_executable(pop3): /usr/local/libexec/dovecot/pop3-login login_user: dovecot-login login_log_format_elements: user=<%u> domain=<%d> method=%m rip=%r lip=%l %c login_process_size: 64 login_processes_count: 25 mail_location: maildir:%h/Maildir:INDEX=/var/indexes/%d/%1n/%2n/%n mail_cache_min_mail_count: 100 maildir_copy_with_hardlinks: yes maildir_copy_preserve_filename: yes mail_executable(default): /usr/local/libexec/dovecot/imap mail_executable(imap): /usr/local/libexec/dovecot/imap mail_executable(pop3): /usr/local/libexec/dovecot/pop3 mail_plugins(default): quota imap_quota mail_plugins(imap): quota imap_quota mail_plugins(pop3): quota mail_plugin_dir(default): /usr/local/lib/dovecot/imap mail_plugin_dir(imap): /usr/local/lib/dovecot/imap mail_plugin_dir(pop3): /usr/local/lib/dovecot/pop3 imap_client_workarounds(default): outlook-idle delay-newmail imap_client_workarounds(imap): outlook-idle delay-newmail imap_client_workarounds(pop3): outlook-idle pop3_uidl_format(default): pop3_uidl_format(imap): pop3_uidl_format(pop3): %08Xu%08Xv pop3_client_workarounds(default): pop3_client_workarounds(imap): pop3_client_workarounds(pop3): outlook-no-nuls auth default: mechanisms: plain digest-md5 cram-md5 apop cache_size: 16384 cache_ttl: 300 user: dovecot-auth username_translation: %@ passdb: driver: sql args: /etc/dovecot/email-login.conf passdb: driver: sql args: /etc/dovecot/userid-login.conf passdb: driver: sql args: /etc/dovecot/alias-login.conf passdb: driver: sql args: /etc/dovecot/domalias-login.conf userdb: driver: prefetch userdb: driver: sql args: /etc/dovecot/email-sql.conf socket: type: listen client: master: path: /var/run/dovecot/auth-master mode: 432 user: root group: mail