[Dovecot] Segfault in dovecot-lda when resolver is unavailable
Marcin Mirosław
marcin at mejor.pl
Wed Apr 23 21:15:49 UTC 2014
Hi list!
Recently I noticed that dovecot-lda throws segfault when resolver is
unavailable and with imapc configured.
$ cat /etc/resolv.conf
search .
nameserver 127.0.0.1
backtrace:
# gdb -q /usr/libexec/dovecot/dovecot-lda
'core-1398282784-8-11-!usr!libexec!dovecot!dovecot-lda-8805'
[...]
Core was generated by `/usr/libexec/dovecot/deliver -d marcin at mejor.pl'.
Program terminated with signal 11, Segmentation fault.
#0 0x000002b612afaf72 in _int_free (av=0x2b612e215c0 <main_arena>,
p=0x1b23bfabe0, have_lock=0) at malloc.c:3903
3903 unlink(p, bck, fwd);
(gdb) bt
#0 0x000002b612afaf72 in _int_free (av=0x2b612e215c0 <main_arena>,
p=0x1b23bfabe0, have_lock=0) at malloc.c:3903
#1 0x000002b612e96a4e in buffer_free (_buf=_buf at entry=0x1b23bfa948) at
buffer.c:144
#2 0x000002b612ebeca8 in array_free_i (array=0x1b23bfa948) at array.h:108
#3 priorityq_deinit (_pq=_pq at entry=0x1b23bfabb0) at priorityq.c:38
#4 0x000002b612eafa57 in io_loop_destroy
(_ioloop=_ioloop at entry=0x395a4da91d0) at ioloop.c:495
#5 0x000002b61306f225 in imapc_client_run_post (client=<optimized out>)
at imapc-client.c:175
#6 imapc_client_run (client=0x1b23bda930) at imapc-client.c:181
#7 0x000002b613067158 in imapc_list_try_get_root_sep
(list=0x1b23bd7b60, sep_r=sep_r at entry=0x395a4da9247 "") at imapc-list.c:297
#8 0x000002b6130671ae in imapc_list_get_hierarchy_sep (_list=<optimized
out>) at imapc-list.c:310
#9 0x000002b613065d9f in imapc_list_get_fs_name (list=0x1b23bd7b60,
name=0x0) at imapc-list.c:396
#10 0x000002b613066031 in imapc_list_get_path (_list=0x1b23bd7b60,
name=0x0, type=MAILBOX_LIST_PATH_TYPE_MAILBOX, path_r=0x395a4da9338) at
imapc-list.c:437
#11 0x000002b613089785 in mailbox_list_get_root_path (list=<optimized
out>, type=type at entry=MAILBOX_LIST_PATH_TYPE_MAILBOX,
path_r=path_r at entry=0x395a4da9338) at mailbox-list.c:1276
#12 0x000002b612ff8eb5 in quota_add_user_namespace (quota=0x1b23bcea80,
ns=0x1b23bd7a10) at quota.c:745
#13 0x000002b61300073a in quota_mailbox_list_created (list=0x1b23bfd9c0)
at quota-storage.c:590
#14 0x000002b613084581 in hook_mailbox_list_created
(list=list at entry=0x1b23bfd9c0) at mail-storage-hooks.c:328
#15 0x000002b61308836f in mailbox_list_create
(driver=driver at entry=0x2b6130e677b "maildir++", ns=0x1b23bd7a10,
set=set at entry=0x395a4da94a0,
flags=<optimized out>, list_r=list_r at entry=0x1b23bd7d60,
error_r=error_r at entry=0x395a4da9498) at mailbox-list.c:210
#16 0x000002b613065cf6 in imapc_list_get_fs
(list=list at entry=0x1b23bd7b60) at imapc-list.c:379
#17 0x000002b61306601e in imapc_list_get_path (_list=0x1b23bd7b60,
name=0x0, type=MAILBOX_LIST_PATH_TYPE_MAILBOX, path_r=0x395a4da9588) at
imapc-list.c:433
#18 0x000002b613089785 in mailbox_list_get_root_path (list=<optimized
out>, type=type at entry=MAILBOX_LIST_PATH_TYPE_MAILBOX,
path_r=path_r at entry=0x395a4da9588) at mailbox-list.c:1276
#19 0x000002b612ff8eb5 in quota_add_user_namespace (quota=0x1b23bcea80,
ns=0x1b23bd7a10) at quota.c:745
#20 0x000002b61300073a in quota_mailbox_list_created (list=0x1b23bd7b60)
at quota-storage.c:590
#21 0x000002b613084581 in hook_mailbox_list_created
(list=list at entry=0x1b23bd7b60) at mail-storage-hooks.c:328
#22 0x000002b61308836f in mailbox_list_create
(driver=driver at entry=0x2b6130e6d1b "imapc", ns=ns at entry=0x1b23bd7a10,
set=set at entry=0x395a4da9720,
flags=<optimized out>, list_r=list_r at entry=0x395a4da9708,
error_r=error_r at entry=0x395a4da9810) at mailbox-list.c:210
#23 0x000002b61307f500 in mail_storage_create_full
(ns=ns at entry=0x1b23bd7a10, driver=<optimized out>, driver at entry=0x0,
data=<optimized out>,
flags=flags at entry=(unknown: 0),
storage_r=storage_r at entry=0x395a4da97c0,
error_r=error_r at entry=0x395a4da9810) at mail-storage.c:356
#24 0x000002b61307f7cc in mail_storage_create (ns=ns at entry=0x1b23bd7a10,
driver=driver at entry=0x0, flags=flags at entry=(unknown: 0),
error_r=error_r at entry=0x395a4da9810) at mail-storage.c:407
#25 0x000002b613077a48 in namespace_add (user=user at entry=0x1b23bcf7e0,
ns_set=0x1b23bd0db8, unexpanded_ns_set=0x1b23bcff30,
mail_set=mail_set at entry=0x1b23bd07e8, ns_p=ns_p at entry=0x1b23bd3b00,
error_r=error_r at entry=0x395a4da9950) at mail-namespace.c:170
#26 0x000002b613078aaf in mail_namespaces_init (user=0x1b23bcf7e0,
error_r=error_r at entry=0x395a4da9950) at mail-namespace.c:344
#27 0x000002b6130901bf in mail_storage_service_init_post
(error_r=0x395a4da9950, mail_user_r=0x395a4da9b18, priv=0x395a4da9960,
user=0x1b23bbde50,
ctx=<optimized out>) at mail-storage-service.c:685
#28 mail_storage_service_next (ctx=ctx at entry=0x1b23bbd4f0,
user=0x1b23bbde50, mail_user_r=mail_user_r at entry=0x395a4da9b18) at
mail-storage-service.c:1223
#29 0x000002b6130904b5 in mail_storage_service_lookup_next
(ctx=0x1b23bbd4f0, input=input at entry=0x395a4da9b80,
user_r=user_r at entry=0x395a4da9a70,
mail_user_r=mail_user_r at entry=0x395a4da9b18,
error_r=error_r at entry=0x395a4da9a60) at mail-storage-service.c:1258
#30 0x0000001b22341ccb in main (argc=3, argv=0x1b23bbb060) at main.c:412
# doveconf -n
# 2.2.12: /etc/dovecot/dovecot.conf
# OS: Linux 3.13.8-hardened x86_64 Gentoo Base System release 2.2
auth_cache_size = 1 k
auth_master_user_separator = *
auth_mechanisms = login digest-md5 cram-md5 plain
deliver_log_format = msgid=%m: from=%f: phys=%p: virt=%w %$
dict {
quota = pgsql:/etc/dovecot/dovecot-dict-sql.conf.ext
}
first_valid_uid = 8
last_valid_uid = 8
lda_mailbox_autocreate = yes
lda_mailbox_autosubscribe = yes
mail_attachment_dir = /dane/domeny/zalaczniki
mail_attachment_min_size = 10000 k
mail_cache_min_mail_count = 20
mail_gid = mail
mail_log_prefix = "%s(%u) <%{session}>: "
mail_plugins = quota notify mail_log stats zlib
mail_privileged_group = mail
mail_uid = mail
maildir_stat_dirs = yes
managesieve_notify_capability = mailto
managesieve_sieve_capability = fileinto reject envelope
encoded-character vacation subaddress comparator-i;ascii-numeric
relational regex imap4flags copy inc$
ude variables body enotify environment mailbox date ihave
mdbox_preallocate_space = yes
mdbox_rotate_interval = 60 days
mdbox_rotate_size = 50 M
namespace inbox {
inbox = yes
list = yes
location =
mailbox Drafts {
auto = subscribe
special_use = \Drafts
}
mailbox Junk {
auto = subscribe
special_use = \Junk
}
mailbox Sent {
auto = subscribe
special_use = \Sent
}
mailbox "Sent Messages" {
special_use = \Sent
}
mailbox Trash {
auto = subscribe
special_use = \Trash
}
prefix =
separator = .
subscriptions = yes
}
passdb {
args = /etc/dovecot/.master.user
driver = passwd-file
master = yes
pass = yes
}
passdb {
args = /etc/dovecot/dovecot-sql.conf.ext
driver = sql
}
plugin {
quota = dict:User quota::proxy::quota
sieve = ~/.dovecot.sieve
sieve_dir = ~/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
zlib_save = bz2
zlib_save_level = 2
}
postmaster_address = postmaster at mejor.pl
protocols = imap pop3 sieve
service auth {
unix_listener auth-userdb {
group = mail
mode = 0660
user = root
}
}
service dict {
unix_listener dict {
user = mail
}
}
service stats {
fifo_listener stats-mail {
mode = 0600
user = mail
}
}
ssl_cert = </etc/ssl/gwiazdka.mejor.pl.pem
ssl_key = </etc/ssl/gwiazdka.mejor.pl.pem
userdb {
driver = prefetch
}
userdb {
args = /etc/dovecot/dovecot-sql.conf.ext
driver = sql
}
verbose_proctitle = yes
protocol lda {
mail_plugins = quota notify mail_log stats zlib sieve
}
protocol imap {
mail_max_userip_connections = 25
mail_plugins = quota notify mail_log stats zlib imap_quota imap_stats
imap_zlib
}
Thanks,
Marcin
More information about the dovecot
mailing list