[Dovecot] Deliver core dump in b13 (hg 20080102)

mikkel at euro123.dk mikkel at euro123.dk
Wed Jan 16 22:16:58 EET 2008


On Wed, January 16, 2008 5:37 pm, Timo Sirainen wrote:
> On Sun, 2008-01-13 at 11:01 +0100, mikkel at euro123.dk wrote:
>
>> deliver(mikkel at euro123.dk): Jan 13 10:44:53 Panic: file index-mail.c:
>> line 1042 (index_mail_close): assertion failed:
>> (!mail->data.destroying_stream)
>>
>
> So this only happens with deliver? Does it break if you don't have Sieve
> plugin loaded? What about other plugins?
>

There are no problems what so ever except in this very specific situation.
Sieve works flawlessly in other situations.
I've specificly operations such as "fileinto" and "vacation" to see if
they would cause an error as well - which they did not.

But when I use "redirect" it returns the "e-mail undeliverable" message to
the sender.
Even though the e-mail gets forwarded as expected.
It works the same whether I combine "redirect" with "keep" and the result
is always the same no matter what account I'm testing.

Deliver does something after forwading the message which makes it fail.
For some reason it then thinks that the delivery didn't happen and returns
an error to the sender.
That error states "<mikkel at euro123.dk>: Command died with signal 6:
    "/opt/freeware/dovecot-20080113/libexec/dovecot/deliver""

This has got to narrow the cause of error down to one very specific part
of the code (after delivery but before passing the OK signal or whatever
it does to tell that the delivery was successfull).

I looks like the faillure happens when deliver tries to update the index
of the account that the e-mails is being forwarded to.
I figured that it somehow couldn't find the directory and that is what
causes the error.
But that's not the case since maildirsize gets updated correctly on that
account (the account that the mail is being forwarded to).
Also the dirlist shows me that dhe index files have ben updated at the
same time as maildirsize.

ls -l
drwx------   2 vmail    vmail          4 Jan 16 21:00 cur
-rw-------   1 vmail    vmail        114 Jan 16 21:00 dovecot-uidlist
-rw-------   1 vmail    vmail        216 Jan 16 21:00 dovecot.index
-rw-------   1 vmail    vmail      17408 Jan 16 21:00 dovecot.index.cache
-rw-------   1 vmail    vmail       1408 Jan 16 21:00 dovecot.index.log
-rw-------   1 vmail    vmail         38 Jan 16 21:00 maildirsize
drwx------   2 vmail    vmail          2 Jan 16 21:00 new
-rw-------   1 vmail    vmail         17 Jan 16 20:48 subscriptions
drwx------   2 vmail    vmail          2 Jan 16 21:12 tmp.


Would the deliver core dump be of any interest to you?
It places the dump in the home directory where the sieve file of the
forwarding account is also located.

> I've tried to reproduce this a few times but haven't been able to. So if
> you could figure out what configuration/setting specifically causes this
> crash (or does it crash even with default configuration?) that would help
> fixing it..
>
>

Here is my dovecot configuration:

/opt/freeware/dovecot-20080113/sbin/dovecot -c /local/config/dovecot.conf -n
# 20080113: /local/config/dovecot.conf
Warning: fd limit 256 is lower than what Dovecot can use under full load
(more than 768). Either grow the limit or change login_max_processes_count
and max_mail_processes settings
log_path: /local/log/dovecot.run
info_log_path: /local/log/dovecot.run
protocols: imap pop3
ssl_disable: yes
disable_plaintext_auth: no
login_dir: /opt/freeware/dovecot-20080113/var/run/dovecot/login
login_executable(default):
/opt/freeware/dovecot-20080113/libexec/dovecot/imap-login
login_executable(imap):
/opt/freeware/dovecot-20080113/libexec/dovecot/imap-login
login_executable(pop3):
/opt/freeware/dovecot-20080113/libexec/dovecot/pop3-login
login_process_per_connection: no
verbose_proctitle: yes
first_valid_uid: 105
first_valid_gid: 105
mmap_disable: yes
mail_nfs_storage: yes
mail_nfs_index: yes
mail_executable(default): /opt/freeware/dovecot-20080113/libexec/dovecot/imap
mail_executable(imap): /opt/freeware/dovecot-20080113/libexec/dovecot/imap
mail_executable(pop3): /opt/freeware/dovecot-20080113/libexec/dovecot/pop3
mail_plugins(default): quota imap_quota trash
mail_plugins(imap): quota imap_quota trash
mail_plugins(pop3): quota
mail_plugin_dir(default): /opt/freeware/dovecot-20080113/lib/dovecot/imap
mail_plugin_dir(imap): /opt/freeware/dovecot-20080113/lib/dovecot/imap
mail_plugin_dir(pop3): /opt/freeware/dovecot-20080113/lib/dovecot/pop3
imap_client_workarounds(default): outlook-idle delay-newmail
tb-extra-mailbox-sep
imap_client_workarounds(imap): outlook-idle delay-newmail
tb-extra-mailbox-sep
imap_client_workarounds(pop3):
pop3_client_workarounds(default):
pop3_client_workarounds(imap):
pop3_client_workarounds(pop3): outlook-no-nuls oe-ns-eoh
auth default:
  mechanisms: plain login digest-md5 cram-md5 apop ntlm
  cache_size: 4096
  cache_ttl: 120
  passdb:
    driver: sql
    args: /local/config/dovecot-sql.conf
  userdb:
    driver: prefetch
  userdb:
    driver: sql
    args: /local/config/dovecot-sql.conf
  socket:
    type: listen
    client:
      path: /var/spool/postfix/private/auth
      mode: 432
      user: postfix
      group: postfix
    master:
      path: /var/run/dovecot/auth-master
      mode: 384
      user: vmail
plugin:
  quota: maildir
  quota_rule2: Trash:storage=10M:messages=100
  trash: /local/config/dovecot-trash.conf

Regards, Mikkel



More information about the dovecot mailing list