dovecot-2.2.15 process dovecot/imap segfaults when dict process has troubles

Marcin Mirosław marcin at mejor.pl
Tue Jan 13 16:04:02 UTC 2015


W dniu 13.01.2015 o 13:53, Lazy pisze:
> I can't reproduce this with redis dict.
> 
> Could You provide us with a doveconf -n ?
> Does this also happen with other dict engines ?

Working configuration:

auth_cache_size = 64 k
auth_cache_ttl = 10 mins
auth_master_user_separator = *
auth_mechanisms = plain login
deliver_log_format = msgid=%m: from=%f: phys=%p: virt=%w %$
dict {
  domainquota = pgsql:/etc/dovecot/dovecot-dict-sql-domain.conf.ext
  lastlogin = pgsql:/etc/dovecot/dovecot-dict-sql.conf.ext
  quota = pgsql:/etc/dovecot/dovecot-dict-sql.conf.ext
}
first_valid_gid = 999
first_valid_uid = 999
last_valid_gid = 999
last_valid_uid = 999
lda_mailbox_autocreate = yes
lda_mailbox_autosubscribe = yes
listen = *
mail_gid = 999
mail_location = maildir:~/.maildir:INDEX=/data/poczta/indeksy/%d/%n
mail_log_prefix = "%s(%u) <%{session}>: "
mail_plugins = acl fts fts_squat listescape quota notify mail_log stats zlib
mail_temp_dir = /data/poczta/tmp
mail_uid = 999
mailbox_list_index = yes
managesieve_notify_capability = mailto
managesieve_sieve_capability = fileinto reject envelope
encoded-character vacation subaddress comparator-i;ascii-numeric
relational regex imap4flags copy include vari
ables body enotify environment mailbox date ihave duplicate
namespace {
  location = maildir:%%h/.maildir:INDEX=/data/poczta/indeksy/shared/%d/%n
  prefix = shared/%%n/
  type = shared
}
namespace inbox {
  inbox = yes
  location =
  mailbox Archive {
    auto = subscribe
    special_use = \Archive
  }
  mailbox Archives {
    special_use = \Archive
  }
  mailbox Drafts {
    special_use = \Drafts
  }
  mailbox Junk {
    auto = subscribe
    special_use = \Junk
  }
  mailbox Sent {
    auto = subscribe
    special_use = \Sent
  }
  mailbox "Sent Messages" {
    special_use = \Sent
  }
  mailbox Spam {
    special_use = \Junk
  }
  mailbox Trash {
    auto = subscribe
    special_use = \Trash
  }
  mailbox Wiadomości-śmieci {
    special_use = \Junk
  }
  mailbox Wiadomo&AVs-ci-&AVs-mieci {
    special_use = \Junk
  }
  prefix =
  separator = /
}
passdb {
  driver = pam
  master = yes
  pass = yes
}
passdb {
  args = /etc/dovecot/dovecot-sql.conf.ext
  driver = sql
}
plugin {
  acl = vfile:/data/poczta/acl/global-acls:cache_secs=60
  acl_shared_dict = file:/data/poczta/acl/shared-mailboxes.db
  fts = squat
  fts_squat = partial=4 full=10
  last_login_dict = proxy::lastlogin
  last_login_key = lastlogin/%u/%s/%r
  listescape_char = \
  quota = dict:User quota::proxy::quota
  quota_rule2 = Trash:storage=+100M
  sieve = file:~/sieve;active=~/.dovecot.sieve
  sieve_default = /etc/dovecot/sieve/sieve_default_spam-to-junk.sieve
  stats_command_min_time = 1 mins
  stats_domain_min_time = 12 hours
  stats_ip_min_time = 12 hours
  stats_memory_limit = 1M
  stats_refresh = 30 s
  stats_session_min_time = 15 mins
  stats_track_cmds = yes
  stats_user_min_time = 1 hours
}
postmaster_address = postmaster at example.com
protocols = imap pop3 lmtp sieve
quota_full_tempfail = yes
service auth-worker {
  user = root
}
service auth {
  unix_listener auth-client {
    group = mail
    mode = 0660
  }
  unix_listener auth-userdb {
    mode = 0777
  }
}
service dict {
  unix_listener dict {
    group = poczta
    mode = 0660
  }
}
service stats {
  fifo_listener stats-mail {
    group = poczta
    mode = 0660
  }
}
ssl_cert = </etc/ssl/private/example.com.crt
ssl_cipher_list = DEFAULT:!EXPORT:!LOW:!MEDIUM:!MD5
ssl_dh_parameters_length = 2048
ssl_key = </etc/ssl/private/example.com.key
ssl_protocols = !SSLv2 !SSLv3
userdb {
  driver = prefetch
}
userdb {
  args = /etc/dovecot/dovecot-sql.conf.ext
  driver = sql
}
verbose_proctitle = yes
protocol lmtp {
  mail_plugins = acl fts fts_squat listescape quota notify mail_log
stats zlib sieve
}
protocol lda {
  mail_plugins = quota sieve
}
protocol imap {
  mail_max_userip_connections = 25
  mail_plugins = acl fts fts_squat listescape quota notify mail_log
stats zlib imap_acl imap_quota imap_stats imap_zlib last_login
}
protocol pop3 {
  mail_plugins = acl fts fts_squat listescape quota notify mail_log
stats zlib last_login
}

Then I'm adding:
quota = dict:Quota:%d:proxy::domainquota
and I'm doing:
chmod 000 /etc/dovecot/dovecot-dict-sql-domain.conf.ext

Next I'm restarting dovecot, trying to use IMAP account (reading,
removing emails etc.) and from time to time dovecot/imap throws core.

Marcin



More information about the dovecot mailing list