lmtp panic with many recipients
Olaf Hopp
Olaf.Hopp at kit.edu
Wed May 9 12:09:18 EEST 2018
On 05/09/2018 10:04 AM, Stephan Bosch wrote:
>
>
> Op 08/05/2018 om 10:34 schreef Olaf Hopp:
>> Hi,
>>
>> I had an email with 58 recipients in the "To" and 13 in the "CC"
>> Delivering it from exim to dovecot lmtp panics (see below)
>> Panic: file smtp-address.c: line 533 (smtp_address_write): assertion failed: (smtp_char_is_qpair(*p))
>>
>> # 2.3.1 (c5a5c0c82): /etc/dovecot/dovecot.conf
>> # Pigeonhole version 0.5.devel (61b47828)
>> # OS: Linux 2.6.32-696.23.1.el6.x86_64 x86_64 CentOS release 6.9 (Final)
>>
>
> Do you have an example e-mail that triggers the problem and the sieve scripts that are involved for the recipient that causes the crash?
>
Hi Stephan,
the original mail got stuck within exim on my production server and was from "somebody" to many "somebodys" but not me.
So with exim I added as envelope recipient a test user "ms2test" on my test system "irams2.ira.uka.de"
The test user "ms2test" has just an empty sieve script (all comments).
There is a global sieve_before-Script doing spam delivery into spambox:
#
require ["fileinto", "regex", "envelope"];
#
#
if allof (
not header :comparator "i;ascii-casemap" :regex "Subject" "fail.*deliver",
not header :comparator "i;octet" :contains "Subject" "DBWORLD",
not header :comparator "i;octet" :contains "List-Id" "ieft.org",
not header :comparator "i;octet" :contains "Subject" "Google Alert",
not header :comparator "i;octet" :contains "Subject" "Google Gaga",
not header :comparator "i;octet" :contains "Subject" "foo",
not header :comparator "i;octet" :contains "Subject" "Woechentliche Spam-Benachrichtigung",
not address :all :comparator "i;octet" :contains "To" "robocup",
not header :comparator "i;octet" :is "Envelope-to" "ms2spam at ira.uka.de",
exists [ "X-ATIS-Spam-Flag" ] ) {
fileinto "INBOX.spambox";
stop;
}
The mail in question contains third party adresses and content. So I can't post it here.
I will try to reproduce it by myself with just dummy addresses.
Ok, another finding:
if I strip down the global sieve_before just to
require ["fileinto", "regex", "envelope"];
if allof (
not address :all :comparator "i;octet" :contains "To" "robocup"
) {
fileinto "INBOX.spambox";
stop;
}
the mail got stuck.
If I reenable all other original lines, but remove the "rococup" line the mail get's delivered.
"doveconf -n" see below
Olaf
# doveconf -n
# 2.3.1 (c5a5c0c82): /etc/dovecot/dovecot.conf
# Pigeonhole version 0.5.devel (61b47828)
doveconf: Warning: service auth { client_limit=2000 } is lower than required under max. load (20192)
doveconf: Warning: service anvil { client_limit=2000 } is lower than required under max. load (17195)
# OS: Linux 2.6.32-696.23.1.el6.x86_64 x86_64 CentOS release 6.9 (Final)
# Hostname: irams1.ira.uka.de
auth_failure_delay = 3 secs
auth_master_user_separator = *
auth_mechanisms = plain login
auth_username_format = %Ln
auth_verbose = yes
auth_verbose_passwords = plain
auth_worker_max_count = 60
default_client_limit = 2000
default_process_limit = 3000
first_valid_uid = 1000
last_valid_uid = 65533
mail_location = maildir:~/Maildir
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 index ihave duplicate mime foreverypart extracttext
mbox_write_locks = fcntl
namespace inbox {
inbox = yes
location =
mailbox "Deleted Items" {
autoexpunge = 30 days
special_use = \Trash
}
mailbox "Deleted Messages" {
autoexpunge = 30 days
special_use = \Trash
}
mailbox Drafts {
auto = subscribe
special_use = \Drafts
}
mailbox "Gelöschte Objekte" {
autoexpunge = 30 days
special_use = \Trash
}
mailbox "Gel&APY-schte Objekte" {
autoexpunge = 30 days
special_use = \Trash
}
mailbox Papierkorb {
autoexpunge = 30 days
special_use = \Trash
}
mailbox Sent {
auto = subscribe
special_use = \Sent
}
mailbox Trash {
auto = subscribe
autoexpunge = 30 days
special_use = \Trash
}
mailbox spambox {
auto = create
special_use = \Junk
}
prefix = INBOX.
separator = .
}
passdb {
args = /etc/dovecot/master-users
driver = passwd-file
master = yes
}
passdb {
args = dovecot
driver = pam
}
plugin {
sieve = file:~/sieve;active=~/.dovecot.sieve
sieve_before = /etc/dovecot/sieve-master
sieve_max_redirects = 20
}
postmaster_address = postmaster at ira.uka.de
protocols = imap pop3 lmtp sieve sieve
quota_full_tempfail = yes
service imap-login {
process_limit = 8192
process_min_avail = 16
service_count = 0
}
service imap {
process_limit = 8192
}
service lmtp {
executable = lmtp -L
}
service managesieve-login {
inet_listener sieve {
port = 4190
}
}
service pop3 {
process_limit = 8192
}
ssl = required
ssl_ca = </etc/pki/tls/certs/kitchain_new.crt
ssl_cert = </etc/pki/tls/certs/imap.informatik.pem
ssl_cipher_list = ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-DSS-AES128-GCM-SHA256:kEDH+AESGCM:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA:ECDHE-ECDSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA:DHE-DSS-AES128-SHA256:DHE-RSA-AES256-SHA256:DHE-DSS-AES256-SHA:DHE-RSA-AES256-SHA:AES128-GCM-SHA256:AES256-GCM-SHA384:AES128-SHA256:AES256-SHA256:AES128-SHA:AES256-SHA:AES:DES-CBC3-SHA:!aNULL:!eNULL:!EXPORT:!DES:!RC4:!MD5:!PSK:!aECDH:!EDH-DSS-DES-CBC3-SHA:!EDH-RSA-DES-CBC3-SHA:!KRB5-DES-CBC3-SHA
ssl_dh = # hidden, use -P to show it
ssl_key = # hidden, use -P to show it
ssl_prefer_server_ciphers = yes
syslog_facility = local3
userdb {
driver = passwd
}
verbose_proctitle = yes
protocol lmtp {
mail_plugins = " sieve"
}
protocol imap {
mail_max_userip_connections = 100
ssl_cert = </etc/pki/tls/certs/imap_with_chain.informatik.kit.edu.pem
ssl_key = # hidden, use -P to show it
}
protocol pop3 {
ssl_cert = </etc/pki/tls/certs/pop_with_chain.informatik.kit.edu.pem
ssl_key = # hidden, use -P to show it
}
--
Karlsruher Institut für Technologie (KIT)
ATIS - Abt. Technische Infrastruktur, Fakultät für Informatik
Dipl.-Geophys. Olaf Hopp
- Leitung IT-Dienste -
Am Fasanengarten 5, Gebäude 50.34, Raum 009
76131 Karlsruhe
Telefon: +49 721 608-43973
Fax: +49 721 608-46699
E-Mail: Olaf.Hopp at kit.edu
atis.informatik.kit.edu
www.kit.edu
KIT – Die Forschungsuniversität in der Helmholtz-Gemeinschaft
Das KIT ist seit 2010 als familiengerechte Hochschule zertifiziert.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: smime.p7s
Type: application/pkcs7-signature
Size: 5304 bytes
Desc: S/MIME Cryptographic Signature
URL: <https://dovecot.org/pipermail/dovecot/attachments/20180509/f505a478/attachment.p7s>
More information about the dovecot
mailing list