lmtp issues with specific message on dovecot 2.3.2
Ricardo Machini Barbosa
ricardomachini at gmail.com
Tue Jul 3 05:04:29 EEST 2018
Hello,
I am getting crash on lmtp for specific message on dovecot 2.3.2
See below the backtrace:
Jul 02 22:54:20 Panic: lmtp(xxx)<172769><yL/kH0zXOlvhogIAF3haWw:3>: Buffer
write out of range (23153 + 18446744073709551614)
Jul 02 22:54:20 Error: lmtp(xxx)<172769><yL/kH0zXOlvhogIAF3haWw:3>: Raw
backtrace: /usr/lib64/dovecot/libdovecot.so.0(+0xcdfe4) [0x7f1fc8df9fe4] ->
/usr/lib64/dovecot/libdovecot.so.0(+0xce09e) [0x7f1fc8dfa09e] ->
/usr/lib64/dovecot/libdovecot.so.0(i_fatal+0) [0x7f1fc8d69424] ->
/usr/lib64/dovecot/libdovecot.so.0(buffer_write+0xfc) [0x7f1fc8df425c] ->
/usr/lib64/dovecot/libdovecot-sieve.so.0(rfc2822_header_append+0xe7)
[0x7f1fc5dd1087] -> /usr/lib64/dovecot/libdovecot-sieve.so.0(+0x5c01c)
[0x7f1fc5dac01c] -> /usr/lib64/dovecot/libdovecot-sieve.so.0(+0x40219)
[0x7f1fc5d90219] ->
/usr/lib64/dovecot/libdovecot-sieve.so.0(sieve_result_execute+0x2ef)
[0x7f1fc5d91c2f] -> /usr/lib64/dovecot/libdovecot-sieve.so.0(+0x525be)
[0x7f1fc5da25be] ->
/usr/lib64/dovecot/libdovecot-sieve.so.0(sieve_multiscript_run+0x96)
[0x7f1fc5da3456] -> /usr/lib64/dovecot/lib90_sieve_plugin.so(+0x3847)
[0x7f1fc6009847] ->
/usr/lib64/dovecot/libdovecot-lda.so.0(mail_deliver+0xec) [0x7f1fc93fff7c]
-> dovecot/lmtp [10.0.5.1 DATA](lmtp_local_data+0x6eb) [0x55f5bce9d97b] ->
dovecot/lmtp [10.0.5.1 DATA](cmd_data_continue+0x25d) [0x55f5bce9c48d] ->
/usr/lib64/dovecot/libdovecot.so.0(+0x4ffa2) [0x7f1fc8d7bfa2] ->
/usr/lib64/dovecot/libdovecot.so.0(io_loop_call_io+0x65) [0x7f1fc8e11a75] ->
/usr/lib64/dovecot/libdovecot.so.0(io_loop_handler_run_internal+0x10f)
[0x7f1fc8e1335f] ->
/usr/lib64/dovecot/libdovecot.so.0(io_loop_handler_run+0x52)
[0x7f1fc8e11b72] -> /usr/lib64/dovecot/libdovecot.so.0(io_loop_run+0x38)
[0x7f1fc8e11d98] ->
/usr/lib64/dovecot/libdovecot.so.0(master_service_run+0x13) [0x7f1fc8d8d723]
-> dovecot/lmtp [10.0.5.1 DATA](main+0x229) [0x55f5bce9b4b9] ->
/lib64/libc.so.6(__libc_start_main+0xf5) [0x7f1fc8981445] -> dovecot/lmtp
[10.0.5.1 DATA](+0x55e5) [0x55f5bce9b5e5]
Jul 02 22:54:20 Fatal: lmtp(xxx)<172769><yL/kH0zXOlvhogIAF3haWw:3>: master:
service(lmtp): child 172769 killed with signal 6 (core dumps disabled -
https://dovecot.org/bugreport.html#coredumps)
uname a
Linux mailsrv01 3.10.0-862.3.3.el7.x86_64 #1 SMP Fri Jun 15 04:15:27 UTC
2018 x86_64 x86_64 x86_64 GNU/Linux
dovecot version
2.3.2 (582970113)
# 2.3.2 (582970113): /etc/dovecot/dovecot.conf
# Pigeonhole version 0.5.2 (7704de5e)
# OS: Linux 3.10.0-862.3.3.el7.x86_64 x86_64 CentOS Linux release 7.5.1804
(Core)
# Hostname: mailsrv01
auth_master_user_separator = * auth_verbose_passwords = sha1
default_client_limit = 2000 deliver_log_format = subject=%s from:%f
sender:%e to: %{to_envelope} size:%p msgid=%m status=%$
delivery_time=%{delivery_time} session_time=%{session_time}
disable_plaintext_auth = no doveadm_allowed_commands = quota
get,dsync-server,kick,purge,fts rescan,altmove,mailbox list,expunge,mailbox
status doveadm_password = # hidden, use -P to show it
lda_mailbox_autocreate = yes lda_mailbox_autosubscribe = yes
lmtp_rcpt_check_quota = yes login_greeting = IMAP4.
login_trusted_networks = x.x.x.x/24
mail_fsync = never
mail_gid = xxx
mail_location = mdbox:~/mdbox:ALT=/altstorage%h/mdbox
mail_plugins = quota quota_clone fts fts_solr zlib mail_uid = xxx
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 duplicate vnd.dovecot
.filter namespace inbox {
inbox = yes
list = yes
location =
mailbox "Itens Enviados" {
auto = subscribe
special_use = \Sent
}
mailbox "Itens Excluídos" {
auto = subscribe
special_use = \Trash
}
mailbox Rascunhos {
auto = subscribe
special_use = \Drafts
}
mailbox Spam {
auto = subscribe
special_use = \Junk
}
prefix =
separator = .
}
passdb {
args = /etc/dovecot/dovecot-ldap.conf.ext
driver = ldap
}
plugin {
fts = solr
fts_solr = url=http://x.x.x.x:8983/solr/dovecot/
imapsieve_mailbox1_before = file:/etc/dovecot/antispam/report-spam.sieve
imapsieve_mailbox1_causes = COPY
imapsieve_mailbox1_name = Spam
imapsieve_mailbox2_before = file:/etc/dovecot/antispam/report-ham.sieve
imapsieve_mailbox2_causes = COPY
imapsieve_mailbox2_from = Spam
imapsieve_mailbox2_name = *
last_login_dict = redis:host=x.x.x.x:port=6379
quota = count:User quota
quota_clone_dict = redis:host=x.x.x.x:port=6379
quota_rule = *:bytes=0
quota_rule2 = Itens Excluídos:storage=+xM
quota_vsizes = yes
quota_warning = storage=95%% quota-warning 95 %u
quota_warning2 = storage=80%% quota-warning 80 %u
sieve = ~/.dovecot.sieve
sieve_before = /etc/dovecot/sieve/audit.sieve
sieve_before2 = /etc/dovecot/sieve/duplicate.sieve
sieve_before3 = /etc/dovecot/sieve/spam.sieve
sieve_dir = ~/sieve
sieve_global_extensions = +vnd.dovecot.pipe
sieve_pipe_bin_dir = /etc/dovecot/antispam
sieve_plugins = sieve_imapsieve sieve_extprograms
sieve_vacation_default_period = 7d
sieve_vacation_max_period = 30d
sieve_vacation_min_period = 1h
}
protocols = imap pop3 lmtp sieve
service anvil {
client_limit = 2000
}
service auth {
client_limit = 2000
}
service doveadm {
inet_listener {
port = 9011
}
inet_listener http {
port = 9010
}
vsz_limit = 768 M
}
service imap-login {
process_limit = 800
process_min_avail = 200
service_count = 1
vsz_limit = 512 M
}
service imap-postlogin {
executable = script-login dovecot-postlogin imap
unix_listener imap-postlogin {
user = mail
}
user = $default_internal_user
}
service imap {
executable = imap imap-postlogin
process_limit = 20000
vsz_limit = 768 M
}
service indexer-worker {
vsz_limit = 512 M
}
service lmtp {
inet_listener lmtp {
address = *
port = 24
}
vsz_limit = 512 M
}
service managesieve-login {
inet_listener sieve {
port = 4190
}
process_min_avail = 10
}
service managesieve {
process_limit = 512
}
service pop3-postlogin {
executable = script-login dovecot-postlogin pop3
unix_listener pop3-postlogin {
user = mail
}
user = $default_internal_user
}
service pop3 {
executable = pop3 pop3-postlogin
}
service quota-warning {
executable = script quota-warning
unix_listener quota-warning {
user = mail
}
}
service stats {
chroot = empty
client_limit = 20000
drop_priv_before_exec = no
executable = stats
extra_groups =
group =
idle_kill = 4294967295 secs
privileged_group =
process_limit = 1
process_min_avail = 0
protocol =
service_count = 0
type =
unix_listener stats-reader {
group =
mode = 0600
user =
}
unix_listener stats-writer {
group =
mode = 0600
user =
}
user = $default_internal_user
vsz_limit = 18446744073709551615 B
}
ssl = no
submission_host = x.x.x.x
userdb {
driver = prefetch
}
userdb {
args = /etc/dovecot/dovecot-ldap.conf.ext
driver = ldap
}
verbose_proctitle = yes
protocol lda {
mail_fsync = optimized
mail_plugins = quota quota_clone sieve } protocol imap {
imap_max_line_length = 128 k
mail_max_userip_connections = 30
mail_plugins = quota quota_clone fts fts_solr zlib imap_quota last_login
imap_sieve } protocol lmtp {
mail_fsync = optimized
mail_plugins = quota quota_clone sieve } protocol pop3 {
mail_max_userip_connections = 10
mail_plugins = quota quota_clone fts fts_solr zlib last_login
pop3_logout_format = in=%i out=%o top=%t/%p, retr=%r/%b, del=%d/%m,
size=%s
pop3_no_flag_updates = yes
pop3_save_uidl = yes
pop3_uidl_format = %08Xu%08Xv
}
Regards,
Ricardo
More information about the dovecot
mailing list