[Dovecot] corrupted transaction log error resulting in multiple deliveries

Justin McAleer justin at fehuq.com
Mon Mar 19 16:36:12 EET 2007


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


More information about the dovecot mailing list