[BUG] Dovecot 2.2.22 lmtp child killed with signal 11

Andreas Jobs andreas.jobs at ruhr-uni-bochum.de
Sun Mar 20 10:31:38 UTC 2016


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


More information about the dovecot mailing list