Hi,
the lmtp service of our dovecot director installation quits with a
segmentation fault if a lot of mails are simultaneously delivered.
For example if the postfix mailqueue is filled (for whatever reason)
and postqueue -f is run the lmtp service quits with a segmentation
fault:
Program terminated with signal 11, Segmentation fault.
#0 o_stream_cork (stream=0x0) at ostream.c:75
75 if (unlikely(stream->closed))
(gdb) backtrace
#0 o_stream_cork (stream=0x0) at ostream.c:75
#1 0x00007fa6e6af45d9 in lmtp_client_send_more (client=0x2435870)
at lmtp-client.c:596
#2 0x0000000002434170 in ?? ()
#3 0x00000000004070d9 in proxy_send_more (proxy=0x2435870) at
lmtp-proxy.c:390
#4 lmtp_proxy_data_input (proxy=0x2435870) at lmtp-proxy.c:444
#5 0x00007fa6e6af456f in lmtp_client_send_data (client=0x24347a0)
at lmtp-client.c:306
#6 0x0000000002434f98 in ?? ()
#7 0xffffffffe6af73c5 in ?? ()
#8 0x0000000002434840 in ?? ()
#9 0x0000000000000000 in ?? ()
I don't have any ideas why the stream is 0. The configuration of the
dovecot director installation is attached. Please let me know if i
shall provide any more information or test something.
Kind regards
Reinhard
dovecot -c /etc/dovecot-director/dovecot-director.conf -n
# 2.0.13 (537d4b6d9a7a): /etc/dovecot-director/dovecot-director.conf
# OS: Linux 2.6.32-27-server x86_64 Ubuntu 10.04.1 LTS nfs
auth_verbose = yes
base_dir = /var/run/dovecot-director/
deliver_log_format = director msgid=%m: %$
director_mail_servers = 10.129.3.190-10.129.3.193
director_servers = 10.129.3.193:9090 10.129.3.192:9090 10.129.3.191:9090
10.129.3.190:9090
info_log_path = /var/log/dovecot-director-debug.log
lmtp_proxy = yes
log_path = /var/log/dovecot-director.log
login_log_format = director %$: %s
mail_debug = yes
mail_gid = vmail
mail_location = mdbox:/mail/dovecot/%d/%n/mail:INDEX=/data/dovecot/%d/%n
mail_log_prefix = "director %s(%u): "
mail_nfs_storage = yes
mail_privileged_group = vmail
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
passdb {
args = proxy=y nopassword=y user=%n@dovecottest.%d
driver = static
}
plugin {
sieve = ~/.dovecot.sieve
sieve_dir = ~/sieve
}
protocols = imap pop3 lmtp
service auth {
unix_listener auth-userdb {
user = dovecot
}
}
service director {
fifo_listener login/proxy-notify {
mode = 0666
}
inet_listener {
port = 9090
}
unix_listener director-userdb {
mode = 0600
}
unix_listener login/director {
mode = 0666
}
}
service imap-login {
executable = imap-login director
inet_listener imap {
port = 20143
}
inet_listener imaps {
port = 20993
ssl = yes
}
}
service lmtp {
inet_listener lmtp {
address = *
port = 20024
}
}
service pop3-login {
executable = pop3-login director
inet_listener pop3 {
port = 20110
}
inet_listener pop3s {
port = 20995
ssl = yes
}
}
ssl_cert = </etc/certs/wildcard.metaways.net.crt
ssl_key = </etc/certs/wildcard.metaways.net.key
protocol lmtp {
auth_socket_path = director-userdb
passdb {
args = proxy=y nopassword=y port=19024
driver = static
}
}
protocol imap {
imap_client_workarounds = delay-newmail
}