[Dovecot] Exim+Dovecot LDA - How can I catch the crash?

Odhiambo Washington odhiambo at gmail.com
Thu Jul 29 14:59:11 EEST 2010


Hello list

I am testing mdbox with Dovecot from http://hg.dovecot.org/dovecot-2.0-sis/.and
my MTA is Exim. It appears to crash, but I am not sure how to capture the
actual crash.

What I get in Exim logs is:

2010-07-28 19:55:13 1Oe9uT-000KmG-Oz ** /var/spool/virtual/
titan.co.ke/wash/Maildir <wash at titan.co.ke> R=virtual_domains
T=dovecot_virtual_delivery: Child process of dovecot_virtual_delivery
transport (running command "/opt/dovecot2/libexec/dovecot/deliver -d
$local_part@$domain -f $sender_address") was terminated by signal 11
(segmentation fault)

This crash does not happen with RC3 of Dovecot. I know I shouldn't be using
bleeding edge code, but strangely enough, I need to use this one to satisfy
my curiosity, and to help me learn one or two new tricks.

With rc3, here is what I have in dovecot.log:

mail# less /var/log/dovecot.log
Jul 28 20:04:36 master: Info: Dovecot v2.0.rc3 starting up
Jul 28 20:05:04 lda: Debug: Loading modules from directory:
/opt/dovecot2/lib/dovecot
Jul 28 20:05:04 lda: Debug: Module loaded:
/opt/dovecot2/lib/dovecot/lib10_quota_plugin.so
Jul 28 20:05:04 lda: Debug: auth input: wash at titan.co.ke
 home=/var/spool/virtual/titan.co.ke/wash uid=26 gid=26
quota=maildir:storage=0
Jul 28 20:05:04 lda: Debug: Added userdb setting:
plugin/quota=maildir:storage=0
Jul 28 20:05:04 lda(wash at titan.co.ke): Debug: Effective uid=26, gid=26,
home=/var/spool/virtual/titan.co.ke/wash
Jul 28 20:05:04 lda(wash at titan.co.ke): Debug: Quota root: name=storage=0
backend=maildir args=
Jul 28 20:05:04 lda(wash at titan.co.ke): Debug: fs: root=/var/spool/virtual/
titan.co.ke/wash/mdbox, index=, control=, inbox=
Jul 28 20:05:04 lda(wash at titan.co.ke): Debug: Namespace : Using permissions
from /var/spool/virtual/titan.co.ke/wash/mdbox: mode=0700 gid=-1
Jul 28 20:05:04 lda(wash at titan.co.ke): Debug: none: root=, index=, control=,
inbox=
Jul 28 20:05:04 auth: Debug: Loading modules from directory:
/opt/dovecot2/lib/dovecot/auth
Jul 28 20:05:04 auth: Debug: master in: USER    1       wash at titan.co.ke
   service=lda
Jul 28 20:05:04 auth: Debug: passwd(wash at titan.co.ke): lookup
Jul 28 20:05:04 auth: Info: passwd(wash at titan.co.ke): unknown user
Jul 28 20:05:04 auth: Debug: master out: USER   1       wash at titan.co.ke
   home=/var/spool/virtual/titan.co.ke/wash        uid=26  gid=26
 quota=maildir:storage=0
Jul 28 20:05:04 auth: Debug: Loading modules from directory:
/opt/dovecot2/lib/dovecot/auth
Jul 28 20:05:04 auth: Info: mysql: Connected to localhost (exim4u)
Jul 28 20:05:04 auth: Debug: sql(wash at titan.co.ke): SELECT pop AS home, 26
AS uid, 26 AS gid, CONCAT('maildir:storage=', quota*1024) AS quota FROM
users WHERE username = 'wash at titan.co.ke' AND enabled = '1'
Jul 28 20:05:04 lda(wash at titan.co.ke): Info: msgid=<
E1OeA40-000OZ6-2O at mail.mediselkenya.com>: saved mail to INBOX

.. while with dovecot-2.0-sis, I get:

mail# less /var/log/dovecot.log
Jul 28 20:08:46 master: Info: Dovecot v2.0.rc3 (8e511be90b4b) starting up
Jul 28 20:08:50 lda: Debug: Loading modules from directory:
/opt/dovecot2/lib/dovecot
Jul 28 20:08:50 lda: Debug: Module loaded:
/opt/dovecot2/lib/dovecot/lib10_quota_plugin.so
Jul 28 20:08:50 auth: Debug: Loading modules from directory:
/opt/dovecot2/lib/dovecot/auth
Jul 28 20:08:50 auth: Debug: master in: USER    1       wash at titan.co.ke
   service=lda
Jul 28 20:08:50 auth: Debug: passwd(wash at titan.co.ke): lookup
Jul 28 20:08:50 auth: Info: passwd(wash at titan.co.ke): unknown user
Jul 28 20:08:50 auth: Debug: Loading modules from directory:
/opt/dovecot2/lib/dovecot/auth
Jul 28 20:08:50 auth: Info: mysql: Connected to localhost (exim4u)
Jul 28 20:08:50 auth: Debug: sql(wash at titan.co.ke): SELECT pop AS home, 26
AS uid, 26 AS gid, CONCAT('maildir:storage=', quota*1024) AS quota FROM
users WHERE username = 'wash at titan.co.ke' AND enabled = '1'
Jul 28 20:08:50 auth: Debug: master out: USER   1       wash at titan.co.ke
   home=/var/spool/virtual/titan.co.ke/wash        uid=26  gid=26
 quota=maildir:storage=0
Jul 28 20:08:50 lda: Debug: auth input: wash at titan.co.ke
 home=/var/spool/virtual/titan.co.ke/wash uid=26 gid=26
quota=maildir:storage=0
Jul 28 20:08:50 lda: Debug: Added userdb setting:
plugin/quota=maildir:storage=0
Jul 28 20:08:50 lda(wash at titan.co.ke): Debug: Effective uid=26, gid=26,
home=/var/spool/virtual/titan.co.ke/wash
Jul 28 20:08:50 lda(wash at titan.co.ke): Debug: Quota root: name=storage=0
backend=maildir args=
Jul 28 20:08:50 lda(wash at titan.co.ke): Debug: fs: root=/var/spool/virtual/
titan.co.ke/wash/mdbox, index=, control=, inbox=
Jul 28 20:08:50 lda(wash at titan.co.ke): Debug: Namespace : Using permissions
from /var/spool/virtual/titan.co.ke/wash/mdbox: mode=0700 gid=-1


Attached is my doveconf output.


I need to find out what is killing the lda.


-- 
Best regards,
Odhiambo WASHINGTON,
Nairobi,KE
+254733744121/+254722743223
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
"If you have nothing good to say about someone, just shut up!."
               -- Lucky Dube
-------------- next part --------------
# 2.0.rc3 (21ceba48445d): /opt/dovecot2/etc/dovecot/dovecot.conf
# OS: FreeBSD 8.1-PRERELEASE i386  ufs
auth_anonymous_username = anonymous
auth_cache_negative_ttl = 0 s
auth_cache_size = 0
auth_cache_ttl = 3600 s
auth_debug = yes
auth_debug_passwords = no
auth_default_realm = 
auth_failure_delay = 2 s
auth_gssapi_hostname = 
auth_krb5_keytab = 
auth_master_user_separator = 
auth_mechanisms = plain
auth_realms = 
auth_socket_path = /opt/dovecot2/var/run/dovecot/auth-userdb
auth_ssl_require_client_cert = no
auth_ssl_username_from_cert = no
auth_use_winbind = no
auth_username_chars = abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ01234567890.-_@
auth_username_format = 
auth_username_translation = 
auth_verbose = yes
auth_verbose_passwords = no
auth_winbind_helper_path = /usr/bin/ntlm_auth
auth_worker_max_count = 30
base_dir = /opt/dovecot2/var/run/dovecot/
config_cache_size = 1048576
dbox_attachment_dir = 
dbox_attachment_fs = sis posix
debug_log_path = 
default_client_limit = 1000
default_idle_kill = 60
default_internal_user = dovecot
default_login_user = dovecot
default_process_limit = 100
default_vsz_limit = 268435456
deliver_log_format = msgid=%m: %$
dict_db_config = 
director_mail_servers = 
director_servers = 
director_user_expire = 900 s
disable_plaintext_auth = yes
dotlock_use_excl = no
first_valid_gid = 26
first_valid_uid = 26
hostname = 
imap_capability = 
imap_client_workarounds = 
imap_id_log = 
imap_id_send = 
imap_idle_notify_interval = 120 s
imap_logout_format = bytes=%i/%o
imap_max_line_length = 65536
info_log_path = 
last_valid_gid = 0
last_valid_uid = 0
lda_mailbox_autocreate = yes
lda_mailbox_autosubscribe = no
libexec_dir = /opt/dovecot2/libexec/dovecot
listen = *, ::
lmtp_proxy = no
lock_method = fcntl
log_path = /var/log/dovecot.log
log_timestamp = %b %d %H:%M:%S 
login_access_sockets = 
login_greeting = Dovecot-2.0 ready.
login_log_format = %$: %s
login_log_format_elements = user=<%u> method=%m rip=%r lip=%l mpid=%e %c
login_trusted_networks = 
mail_access_groups = 
mail_cache_fields = flags
mail_cache_min_mail_count = 0
mail_chroot = 
mail_debug = yes
mail_fsync = optimized
mail_full_filesystem_access = no
mail_gid = 
mail_home = 
mail_location = mdbox:/var/spool/virtual/%d/%n/mdbox
mail_log_prefix = %s(%u): 
mail_max_keyword_length = 50
mail_max_lock_timeout = 0 s
mail_max_userip_connections = 10
mail_never_cache_fields = imap.envelope
mail_nfs_index = no
mail_nfs_storage = no
mail_plugin_dir = /opt/dovecot2/lib/dovecot
mail_plugins = 
mail_privileged_group = 
mail_save_crlf = no
mail_temp_dir = /tmp
mail_uid = 
mailbox_idle_check_interval = 30 s
mailbox_list_index_disable = no
maildir_copy_with_hardlinks = yes
maildir_stat_dirs = no
maildir_very_dirty_syncs = no
master_user_separator = 
mbox_dirty_syncs = yes
mbox_dotlock_change_timeout = 120 s
mbox_lazy_writes = yes
mbox_lock_timeout = 300 s
mbox_min_index_size = 0
mbox_read_locks = fcntl
mbox_very_dirty_syncs = no
mbox_write_locks = dotlock fcntl
mdbox_rotate_interval = 0 s
mdbox_rotate_size = 2097152
mmap_disable = no
passdb {
  args = 
  deny = no
  driver = pam
  master = no
  pass = no
}
passdb {
  args = /opt/dovecot2/etc/dovecot/dovecot-sql.conf
  deny = no
  driver = sql
  master = no
  pass = no
}
pop3_client_workarounds = 
pop3_enable_last = no
pop3_lock_session = no
pop3_logout_format = top=%t/%p, retr=%r/%b, del=%d/%m, size=%s
pop3_no_flag_updates = no
pop3_reuse_xuidl = no
pop3_save_uidl = no
pop3_uidl_format = %08Xu%08Xv
postmaster_address = postmaster at thisuglytest.name
protocols = imap pop3 lmtp
quota_full_tempfail = no
recipient_delimiter = +
rejection_reason = Your message to <%t> was automatically rejected:%n%r
rejection_subject = Rejected: %s
sendmail_path = /usr/sbin/sendmail
service anvil {
  chroot = empty
  client_limit = 0
  drop_priv_before_exec = no
  executable = anvil
  extra_groups = 
  group = 
  idle_kill = 4294967295 s
  privileged_group = 
  process_limit = 1
  process_min_avail = 1
  protocol = 
  service_count = 0
  type = anvil
  unix_listener anvil-auth-penalty {
    group = 
    mode = 0600
    user = 
  }
  unix_listener anvil {
    group = 
    mode = 0600
    user = 
  }
  user = $default_internal_user
  vsz_limit = 4294967295
}
service auth-worker {
  chroot = 
  client_limit = 1
  drop_priv_before_exec = no
  executable = auth -w
  extra_groups = 
  group = 
  idle_kill = 0 s
  privileged_group = 
  process_limit = 0
  process_min_avail = 0
  protocol = 
  service_count = 1
  type = 
  unix_listener auth-worker {
    group = 
    mode = 0600
    user = $default_internal_user
  }
  user = 
  vsz_limit = 4294967295
}
service auth {
  chroot = 
  client_limit = 4096
  drop_priv_before_exec = no
  executable = auth
  extra_groups = 
  group = 
  idle_kill = 0 s
  privileged_group = 
  process_limit = 1
  process_min_avail = 0
  protocol = 
  service_count = 0
  type = 
  unix_listener auth-client {
    group = 
    mode = 0600
    user = 
  }
  unix_listener auth-login {
    group = 
    mode = 0600
    user = $default_internal_user
  }
  unix_listener auth-master {
    group = 
    mode = 0600
    user = 
  }
  unix_listener auth-userdb {
    group = mailnull
    mode = 0600
    user = mailnull
  }
  unix_listener login/login {
    group = 
    mode = 0666
    user = 
  }
  user = $default_internal_user
  vsz_limit = 4294967295
}
service config {
  chroot = 
  client_limit = 0
  drop_priv_before_exec = no
  executable = config
  extra_groups = 
  group = 
  idle_kill = 0 s
  privileged_group = 
  process_limit = 0
  process_min_avail = 0
  protocol = 
  service_count = 0
  type = config
  unix_listener config {
    group = 
    mode = 0600
    user = 
  }
  user = 
  vsz_limit = 4294967295
}
service dict {
  chroot = 
  client_limit = 1
  drop_priv_before_exec = no
  executable = dict
  extra_groups = 
  group = 
  idle_kill = 0 s
  privileged_group = 
  process_limit = 0
  process_min_avail = 0
  protocol = 
  service_count = 0
  type = 
  unix_listener dict {
    group = 
    mode = 0600
    user = 
  }
  user = $default_internal_user
  vsz_limit = 4294967295
}
service director {
  chroot = 
  client_limit = 0
  drop_priv_before_exec = no
  executable = director
  extra_groups = 
  fifo_listener login/proxy-notify {
    group = 
    mode = 00
    user = 
  }
  group = 
  idle_kill = 4294967295 s
  inet_listener {
    address = 
    port = 0
    ssl = no
  }
  privileged_group = 
  process_limit = 1
  process_min_avail = 0
  protocol = 
  service_count = 0
  type = 
  unix_listener director-admin {
    group = 
    mode = 0600
    user = 
  }
  unix_listener director-userdb {
    group = 
    mode = 0600
    user = 
  }
  unix_listener login/director {
    group = 
    mode = 00
    user = 
  }
  user = $default_internal_user
  vsz_limit = 4294967295
}
service dns_client {
  chroot = 
  client_limit = 1
  drop_priv_before_exec = no
  executable = dns-client
  extra_groups = 
  group = 
  idle_kill = 0 s
  privileged_group = 
  process_limit = 0
  process_min_avail = 0
  protocol = 
  service_count = 0
  type = 
  unix_listener dns-client {
    group = 
    mode = 0666
    user = 
  }
  unix_listener login/dns-client {
    group = 
    mode = 0666
    user = 
  }
  user = $default_internal_user
  vsz_limit = 4294967295
}
service imap-login {
  chroot = login
  client_limit = 0
  drop_priv_before_exec = no
  executable = imap-login
  extra_groups = 
  group = 
  idle_kill = 0 s
  inet_listener imap {
    address = 
    port = 143
    ssl = no
  }
  inet_listener imaps {
    address = 
    port = 993
    ssl = yes
  }
  privileged_group = 
  process_limit = 0
  process_min_avail = 0
  protocol = imap
  service_count = 1
  type = login
  user = $default_login_user
  vsz_limit = 64
}
service imap {
  chroot = 
  client_limit = 1
  drop_priv_before_exec = no
  executable = imap
  extra_groups = 
  group = 
  idle_kill = 0 s
  privileged_group = 
  process_limit = 1024
  process_min_avail = 0
  protocol = imap
  service_count = 1
  type = 
  unix_listener login/imap {
    group = 
    mode = 0666
    user = 
  }
  user = 
  vsz_limit = 4294967295
}
service lmtp {
  chroot = 
  client_limit = 0
  drop_priv_before_exec = no
  executable = lmtp
  extra_groups = 
  group = 
  idle_kill = 0 s
  privileged_group = 
  process_limit = 0
  process_min_avail = 0
  protocol = lmtp
  service_count = 0
  type = 
  unix_listener lmtp {
    group = 
    mode = 0666
    user = 
  }
  user = 
  vsz_limit = 0
}
service log {
  chroot = 
  client_limit = 0
  drop_priv_before_exec = no
  executable = log
  extra_groups = 
  group = 
  idle_kill = 0 s
  privileged_group = 
  process_limit = 1
  process_min_avail = 0
  protocol = 
  service_count = 0
  type = log
  user = 
  vsz_limit = 4294967295
}
service pop3-login {
  chroot = login
  client_limit = 0
  drop_priv_before_exec = no
  executable = pop3-login
  extra_groups = 
  group = 
  idle_kill = 0 s
  inet_listener pop3 {
    address = 
    port = 110
    ssl = no
  }
  inet_listener pop3s {
    address = 
    port = 995
    ssl = yes
  }
  privileged_group = 
  process_limit = 0
  process_min_avail = 0
  protocol = pop3
  service_count = 1
  type = login
  user = $default_login_user
  vsz_limit = 64
}
service pop3 {
  chroot = 
  client_limit = 1
  drop_priv_before_exec = no
  executable = pop3
  extra_groups = 
  group = 
  idle_kill = 0 s
  privileged_group = 
  process_limit = 1024
  process_min_avail = 0
  protocol = pop3
  service_count = 1
  type = 
  unix_listener login/pop3 {
    group = 
    mode = 0666
    user = 
  }
  user = 
  vsz_limit = 4294967295
}
service ssl-params {
  chroot = 
  client_limit = 0
  drop_priv_before_exec = no
  executable = ssl-params
  extra_groups = 
  group = 
  idle_kill = 0 s
  privileged_group = 
  process_limit = 0
  process_min_avail = 0
  protocol = 
  service_count = 0
  type = 
  unix_listener login/ssl-params {
    group = 
    mode = 0666
    user = 
  }
  user = 
  vsz_limit = 4294967295
}
shutdown_clients = yes
ssl = yes
ssl_ca = 
ssl_cert = </etc/ssl/dovecot/cert.pem
ssl_cert_username_field = commonName
ssl_cipher_list = ALL:!LOW:!SSLv2:!EXP:!aNULL
ssl_key = </etc/ssl/dovecot/key.pem
ssl_key_password = 
ssl_parameters_file = ssl-parameters.dat
ssl_parameters_regenerate = 168
ssl_require_client_cert = no
ssl_username_from_cert = no
ssl_verify_client_cert = no
syslog_facility = mail
userdb {
  args = 
  driver = passwd
}
userdb {
  args = /opt/dovecot2/etc/dovecot/dovecot-sql.conf
  driver = sql
}
valid_chroot_dirs = 
verbose_auth = no
verbose_proctitle = no
verbose_ssl = no
version_ignore = no
protocol lda {
  mail_plugins = quota
}
protocol imap {
  imap_client_workarounds = delay-newmail tb-extra-mailbox-sep
  mail_max_userip_connections = 10
  mail_plugins = quota
}
protocol pop3 {
  mail_max_userip_connections = 3
  mail_plugins = quota
  pop3_client_workarounds = outlook-no-nuls oe-ns-eoh
}


More information about the dovecot mailing list