Hello,
after upgrading to 2.2.22 the lmtp service is crashing (segfault) a few
times per hours.
>From the logs:
Mar 19 16:37:29 lmtp(redacted at ruhr-uni-bochum.de): Info:
ohZXLe1x7VaUeQAAEc+Mrg: sieve: msgid=<redacted at async.facebook.com>:
discarding vacation response to mailinglist recipient <redacted at
facebookmail.com>
Mar 19 16:37:29 lmtp(31124): Info: Disconnect from 134.147.42.228: Successful
quit
Mar 19 16:37:29 lmtp(31124): Fatal: master: service(lmtp): child 31124 killed
with signal 11 (core dumped)
All those crashes have either a "send vacation response" or a
"discarnding vacation response" in common.
I'll attach a backtrace and the current configuration.
--Andreas
--
! Andreas Jobs Network Operation Center !
! Ruhr-Universitaet Bochum !
! One Day I Will Find This Peer Guy and Then I Will Reset HIS Connection !
-------------- next part --------------
# 2.2.22 (fe789d2): /usr/local/dovecot/etc/dovecot.conf
# Pigeonhole version 0.4.13 (7b14904)
# OS: Linux 3.13.0-74-generic x86_64 Ubuntu 14.04.4 LTS
auth_master_user_separator = *
auth_worker_max_count = 50
dict {
quota = mysql:/usr/local/dovecot/etc/dovecot-dict-mysql.conf
}
disable_plaintext_auth = no
doveadm_password = # hidden, use -P to show it
import_environment = TZ CORE_OUTOFMEM CORE_ERROR USER
lda_mailbox_autocreate = yes
lmtp_rcpt_check_quota = yes
lock_method = flock
log_path = /var/log/dovecot.log
login_trusted_networks = 134.147.42.224/28
mail_access_groups = nofiles
mail_fsync = never
mail_location = mdbox:~/mdbox
mail_plugins = " quota zlib mail_log notify virtual"
managesieve_notify_capability = mailto
managesieve_sieve_capability = fileinto envelope encoded-character vacation
subaddress comparator-i;ascii-numeric relational regex imap4flags copy include
variables body enotify environment mailbox date index ihave duplicate mime
foreverypart extracttext editheader vnd.dovecot.debug vnd.dovecot.filter
mdbox_rotate_size = 5 M
mmap_disable = yes
namespace {
hidden = no
inbox = yes
location =
mailbox Drafts {
special_use = \Drafts
}
mailbox Sent {
special_use = \Sent
}
mailbox Trash {
special_use = \Trash
}
mailbox UCE-TMP {
special_use = \Junk
}
prefix =
separator = /
type = private
}
namespace restore {
hidden = yes
inbox = no
list = children
location = mdbox:/var/qmail/data/emptyreadonlymdbox/
prefix = "#RESTORE/"
separator = /
subscriptions = no
type = private
}
passdb {
args = /var/qmail/data/dovecot.disabled
deny = yes
driver = passwd-file
}
passdb {
args = /usr/local/dovecot/etc/dovecot-auth-mysql.conf
driver = sql
}
passdb {
driver = pam
}
passdb {
args = /usr/local/dovecot/etc/passwd.dovcot.master
driver = passwd-file
master = yes
}
plugin {
antispam_allow_append_to_spam = yes
antispam_backend = spool2dir
antispam_spam = UCE-TMP;UCE-MELDEN
antispam_spam_pattern_ignorecase = junk*
antispam_spool2dir_notspam =
/opt/rubmail/data/antispam/ham/ham-%%020lu-%u-%%05lu
antispam_spool2dir_spam =
/opt/rubmail/data/antispam/spam/spam-%%020lu-%u-%%05lu
antispam_trash = Trash;Papierkorb
antispam_trash_pattern_ignorecase = gel?scht*;gel&APY-scht*;deleted*
mail_log_events = mailbox_delete mailbox_rename mailbox_create
mail_log_fields = uid box msgid size
quota = dict:User quota:%i:noenforcing:proxy::quota
quota_over_flag_value = *
quota_over_script = quota-warning mismatch %u
sieve_extensions = -reject +editheader +vnd.dovecot.filter +vnd.dovecot.debug
sieve_filter_bin_dir = /opt/rubmail/sieve_bin
sieve_max_actions = 200
sieve_max_redirects = 200
sieve_plugins = sieve_extprograms
sieve_quota_max_scripts = 10
stats_refresh = 30 secs
stats_track_cmds = yes
}
protocols = pop3 imap lmtp sieve
quota_full_tempfail = yes
sendmail_path = /opt/rubmail/bin/sendmailwrapper.dovecot
service auth {
client_limit = 5300
user = root
}
service dict {
process_limit = 5120
unix_listener dict {
group = nofiles
mode = 0666
}
}
service doveadm {
inet_listener {
port = 542
}
vsz_limit = 512 M
}
service imap-hibernate {
unix_listener imap-hibernate {
group =
mode = 0666
user =
}
}
service imap-login {
inet_listener imap {
address = 10.21.8.25
port = 143
}
process_min_avail = 4
service_count = 0
}
service imap {
drop_priv_before_exec = yes
process_limit = 5120
vsz_limit = 1 G
}
service lmtp {
executable = lmtp
inet_listener lmtp {
address = 10.21.8.25
port = 24
}
process_limit = 50
}
service managesieve-login {
inet_listener sieve {
address = 10.21.8.25
}
}
service pop3-login {
inet_listener pop3 {
address = 10.21.8.25
port = 110
}
process_min_avail = 4
service_count = 0
}
service pop3 {
drop_priv_before_exec = yes
process_limit = 2048
vsz_limit = 512 M
}
service postlogin {
executable = script-login -d rawlog -t
}
service quota-warning {
executable = script /opt/rubmail/bin/quota-warning.pl
unix_listener quota-warning {
group = nofiles
mode = 0666
user = nobody
}
user = dovecot
}
service stats {
fifo_listener stats-mail {
group = nofiles
mode = 0666
}
unix_listener stats {
mode = 0666
}
}
ssl = no
stats_memory_limit = 512 M
userdb {
driver = prefetch
}
userdb {
args = /usr/local/dovecot/etc/dovecot-mysql.conf
driver = sql
}
verbose_proctitle = yes
protocol lda {
mail_fsync = optimized
mail_plugins = " quota zlib mail_log notify virtual sieve"
}
protocol lmtp {
mail_fsync = optimized
mail_plugins = quota sieve
}
protocol imap {
mail_max_userip_connections = 30
mail_plugins = " quota zlib mail_log notify virtual imap_quota
antispam"
}
-------------- next part --------------
GNU gdb (Ubuntu 7.7.1-0ubuntu5~14.04.2) 7.7.1
Copyright (C) 2014 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later
<http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law. Type "show
copying"
and "show warranty" for details.
This GDB was configured as "x86_64-linux-gnu".
Type "show configuration" for configuration details.
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>.
Find the GDB manual and other documentation resources online at:
<http://www.gnu.org/software/gdb/documentation/>.
For help, type "help".
Type "apropos word" to search for commands related to
"word"...
Reading symbols from /usr/local/dovecot/libexec/dovecot/lmtp...done.
[New LWP 31124]
Core was generated by `dovecot/lmtp'.
Program terminated with signal SIGSEGV, Segmentation fault.
#0 0x00007f466de6d9fc in i_stream_skip (stream=0x0, count=0) at istream.c:241
241 struct istream_private *_stream = stream->real_stream;
#0 0x00007f466de6d9fc in i_stream_skip (stream=0x0, count=0) at istream.c:241
_stream = 0x7f4670603020
data_size = 139940470939840
#1 0x00007f466de71e9b in i_stream_concat_skip (cstream=0x7f467069af80) at
istream-concat.c:128
stream = 0x7f467069af80
bytes_skipped = 0
__FUNCTION__ = "i_stream_concat_skip"
#2 0x00007f466de71805 in i_stream_concat_close (stream=0x7f467069af80,
close_parent=false) at istream-concat.c:26
cstream = 0x7f467069af80
i = 32582
#3 0x00007f466de6a598 in io_stream_unref (stream=0x7f467069af80) at
iostream.c:43
dc = 0x7ffe4f9dcec0
__FUNCTION__ = "io_stream_unref"
#4 0x00007f466de6d11a in i_stream_unref (stream=0x7ffe4f9dcf08) at istream.c:55
_stream = 0x7f467069af80
#5 0x00007f466e8aee3c in client_input_data_write (client=0x7f46705f0660) at
commands.c:1151
input = 0x7f467069aff0
#6 0x00007f466e8af1f7 in client_input_data_handle (client=0x7f46705f0660) at
commands.c:1238
data = 0x7f467069c8e0 ""
size = 1781
ret = -1
#7 0x00007f466e8af230 in client_input_data (client=0x7f46705f0660) at
commands.c:1248
No locals.
#8 0x00007f466de7b595 in io_loop_call_io (io=0x7f46705f0ff0) at ioloop.c:564
ioloop = 0x7f46705e8720
t_id = 2
__FUNCTION__ = "io_loop_call_io"
#9 0x00007f466de7d98d in io_loop_handler_run_internal (ioloop=0x7f46705e8720)
at ioloop-epoll.c:220
ctx = 0x7f46705ee340
events = 0x7f46705eff10
event = 0x7f46705eff10
list = 0x7f46705f11b0
io = 0x7f46705f0ff0
tv = {tv_sec = 299, tv_usec = 999248}
events_count = 5
msecs = 300000
ret = 1
i = 0
j = 0
call = true
__FUNCTION__ = "io_loop_handler_run_internal"
#10 0x00007f466de7b73b in io_loop_handler_run (ioloop=0x7f46705e8720) at
ioloop.c:612
No locals.
#11 0x00007f466de7b689 in io_loop_run (ioloop=0x7f46705e8720) at ioloop.c:588
__FUNCTION__ = "io_loop_run"
#12 0x00007f466ddeb7f0 in master_service_run (service=0x7f46705e85c0,
callback=0x7f466e8aa145 <client_connected>)
at master-service.c:640
No locals.
#13 0x00007f466e8aa43d in main (argc=1, argv=0x7f46705e8390) at main.c:127
set_roots = {0x7f466e67e740 <lda_setting_parser_info>,
0x7f466eab3740 <lmtp_setting_parser_info>, 0x0}
service_flags = (MASTER_SERVICE_FLAG_KEEP_CONFIG_OPEN |
MASTER_SERVICE_FLAG_USE_SSL_SETTINGS)
storage_service_flags = (MAIL_STORAGE_SERVICE_FLAG_DISALLOW_ROOT |
MAIL_STORAGE_SERVICE_FLAG_USERDB_LOOKUP |
MAIL_STORAGE_SERVICE_FLAG_TEMP_PRIV_DROP | MAIL_STORAGE_SERVICE_FLAG_NO_LOG_INIT
| MAIL_STORAGE_SERVICE_FLAG_NO_IDLE_TIMEOUT |
MAIL_STORAGE_SERVICE_FLAG_AUTOEXPUNGE)
c = -1