[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