[Dovecot] BUG: segmentation fault in auth

Vesa Muhonen vesa.muhonen at iki.fi
Sat Mar 8 00:06:24 UTC 2014


  Hi

  I'm getting segmentation fault in Dovecot 2.2.11. This happens when 
trying to do a user lookup by "doveadm user". The machine is running Arch 
Linux on i686 on ext3.

  dovecot -n (I took this when running the previous version that works)

# 2.2.9: /etc/dovecot/dovecot.conf
# OS: Linux 3.12.9-x86-linode56 i686  
auth_cache_size = 32 k
default_client_limit = 500
default_process_limit = 50
default_vsz_limit = 128 M
log_timestamp = "%Y-%m-%d %H:%M:%S "
mail_gid = vmail
mail_location = sdbox:~/sdbox
mail_privileged_group = mail
mail_uid = vmail
managesieve_notify_capability = mailto
managesieve_sieve_capability = fileinto reject envelope encoded-character 
vacation subaddress comparator-i;ascii-numeric relational regex imap4flags 
copy include variables body enotify environment mailbox date ihave
namespace inbox {
  inbox = yes
  location = 
  mailbox Archive {
    auto = create
    special_use = \Archive
  }
  mailbox Drafts {
    auto = create
    special_use = \Drafts
  }
  mailbox Junk {
    auto = create
    special_use = \Junk
  }
  mailbox Sent {
    auto = create
    special_use = \Sent
  }
  mailbox Trash {
    auto = create
    special_use = \Trash
  }
  prefix = 
  separator = /
  subscriptions = yes
  type = private
}
passdb {
  args = /etc/dovecot/deny-users
  deny = yes
  driver = passwd-file
}
passdb {
  args = /etc/dovecot/master-users
  driver = passwd-file
  master = yes
  pass = yes
}
passdb {
  args = /etc/dovecot/dovecot-sql.conf.ext
  driver = sql
}
plugin {
  sieve = ~/.dovecot.sieve
  sieve_dir = ~/sieve
  sieve_max_script_size = 1M
  sieve_quota_max_scripts = 10
  sieve_quota_max_storage = 10M
}
postmaster_address = postmaster@<domain>
protocols = imap lmtp sieve
service auth-worker {
  user = $default_internal_user
}
service auth {
  unix_listener /var/spool/postfix/private/auth {
    group = postfix
    mode = 0660
    user = postfix
  }
  unix_listener auth-userdb {
    group = vmail
    mode = 0600
    user = vmail
  }
  user = $default_internal_user
}
service imap-login {
  inet_listener imap {
    port = 143
  }
  process_min_avail = 1
  service_count = 1
  vsz_limit = 64 M
}
service imap {
  process_limit = 256
}
service lmtp {
  unix_listener /var/spool/postfix/private/dovecot-lmtp {
    group = postfix
    mode = 0600
    user = postfix
  }
  user = vmail
}
service managesieve-login {
  inet_listener sieve {
    port = 4190
  }
  service_count = 1
  vsz_limit = 64 M
}
service managesieve {
  process_limit = 128
}
ssl = required
ssl_ca = </etc/ssl/myCA/certs/ca.cert
ssl_cert = </etc/ssl/myCA/certs/imap.cert
ssl_key = </etc/ssl/myCA/private/imap.key
userdb {
  args = uid=vmail gid=vmail home=/var/vmail/%d/%n
  driver = static
}
protocol lda {
  mail_plugins = " sieve"
}
protocol imap {
  mail_max_userip_connections = 30
}
protocol lmtp {
  mail_plugins = " sieve"
  postmaster_address = postmaster@<domain>
}

  This is the error I get:
# doveadm user ...
doveadm(root): Error: userdb lookup(...): Disconnected unexpectedly
field   value

  This appears in logs:
Mar 08 00:18:40 kernel: auth[15182]: segfault at 4 ip 0805dbbd sp bfd87ec0 
error 4 in auth[8048000+4b000]
Mar 08 00:18:40 dovecot[15177]: auth: Fatal: master: service(auth): child 
15182 killed with signal 11 (core dumped)
Mar 08 00:18:40 systemd-coredump[15227]: Process 15182 (auth) dumped core.

  And the coredump (if I got it out correctly)
# systemd-coredumpctl gdb 15182 
TIME                                         PID   UID   GID SIG EXE
Sat 2014-03-08 00:18:40 CET  15182    76    76  11 /usr/lib/dovecot/auth

Reading symbols from /usr/lib/dovecot/auth...(no debugging symbols 
found)...done.
[New LWP 15182]
Core was generated by `dovecot/auth'.
Program terminated with signal SIGSEGV, Segmentation fault.
#0  0x0805dbbd in auth_fields_exists ()

  I'm no expert in debugging, but do tell if you need more info.


  -vesa


More information about the dovecot mailing list