Marco Giunta
2018-Jan-17 13:22 UTC
[BUG] dovecot 2.3.0 - service(lmtp) killed with signal 11 when user is overquota
Hi, I'm using dovecot 2.3.0 installed on a new CentOS 7.4 with rpm from Dovecot repo. When I use LMTP to deliver an email to an overquota user, lmtp service hangs with a segfault: Jan 17 13:39:45 server-02.example.com kernel: lmtp[5099]: segfault at 0 ip 0000563599e372c2 sp 00007ffeaa4fdc80 error 4 in lmtp[563599e31000+b000] Jan 17 13:39:45 server-02.example.com dovecot[5089]: lmtp(5099): Fatal: master: service(lmtp): child 5099 killed with signal 11 (core dumped) If I try to deliver a mail with 'dovecot-lda' on the same overquota user, email was rejected, as expected: Jan 17 13:38:26 server-02.example.com dovecot[6773]: lda(USERNAME)<6773><ZbQDO8FDX1p1GgAASpDaHg>: Debug: Mailbox stdin: Opened mail UID=1 because: copying Jan 17 13:38:26 server-02.example.com dovecot[6773]: lda(USERNAME)<6773><ZbQDO8FDX1p1GgAASpDaHg>: msgid=unspecified: save failed to INBOX: Quota exceeded (mailbox for user is full) Jan 17 13:38:26 server-02.example.com dovecot[6773]: lda(USERNAME)<6773><ZbQDO8FDX1p1GgAASpDaHg>: msgid=unspecified: rejected: Quota exceeded (mailbox for user is full) Jan 17 13:38:26 server-02.example.com dovecot[6773]: lda(USERNAME)<6773><ZbQDO8FDX1p1GgAASpDaHg>: msgid=: Return-Path missing, rejection reason: Quota exceeded (mailbox for user is full) If user is no more overquota, LTMP delivery works: Jan 17 14:13:16 server-02.example.com dovecot[8651]: lmtp(USERNAME at example.com)<8665><ZMKmEexLX1rZIQAASpDaHg>: Debug: Mailbox <lmtp DATA local>: Opened mail UID=1 because: copying Jan 17 14:13:16 server-02.example.com dovecot[8651]: lmtp(USERNAME at example.com)<8665><ZMKmEexLX1rZIQAASpDaHg>: Debug: INBOX: Mailbox opened because: quota count Jan 17 14:13:16 server-02.example.com dovecot[8651]: lmtp(USERNAME at example.com)<8665><ZMKmEexLX1rZIQAASpDaHg>: sieve: msgid=<151619479629.10128.16766154794856971096 at client.example.com>: stored mail into mailbox 'INBOX' Attached my dovecot configuration and a backtrace from gdb. Thanks, Marco -- -------------- next part -------------- #0 lmtp_local_rcpt_reply_overquota (rcpt=rcpt at entry=0x55ee1015b400, error=0x55ee101835c0 "Quota exceeded (mailbox for user is full)") at lmtp-local.c:136 address = <optimized out> lda_set = <optimized out> #1 0x000055ee0dff5652 in lmtp_local_rcpt_check_quota (rcpt=0x55ee1015b400) at lmtp-local.c:231 box = 0x55ee10176ef8 status = {messages = 0, recent = 0, unseen = 0, uidvalidity = 0, uidnext = 0, first_unseen_seq = 0, first_recent_uid = 0, last_cached_seq = 0, highest_modseq = 0, highest_pvt_modseq = 0, keywords = 0x0, permanent_flags = 0, flags = 0, permanent_keywords = false, allow_new_keywords = false, nonpermanent_modseqs = false, no_modseq_tracking = false, have_guids = true, have_save_guids = true, have_only_guid128 = false} mail_error = MAIL_ERROR_NOQUOTA ret = <optimized out> client = <optimized out> address = 0x55ee10150770 user = 0x55ee101613e8 ns = <optimized out> error = 0x55ee101835c0 "Quota exceeded (mailbox for user is full)" #2 lmtp_local_rcpt_anvil_finish (rcpt=rcpt at entry=0x55ee1015b400) at lmtp-local.c:287 cmd = 0x55ee10150638 #3 0x000055ee0dff5bf8 in lmtp_local_rcpt (client=client at entry=0x55ee10135aa8, cmd=cmd at entry=0x55ee10150638, data=data at entry=0x55ee10150728, username=<optimized out>, detail=0x7f6aa397e4c8 "") at lmtp-local.c:400 conn = <optimized out> address = 0x55ee10150770 trans = <optimized out> rcpt = 0x55ee1015b400 input = {parent_event = 0x0, module = 0x55ee0dff7dc3 "lmtp", service = 0x55ee0dff7dc3 "lmtp", username = 0x55ee100f4210 "USERNAME at example.com", session_id = 0x55ee10150af0 "pWtqHtE7X1rqEwAASpDaHg", session_id_prefix = 0x0, session_create_time = 0, local_ip = {family = 2, u = {ip6 = {__in6_u = { __u6_addr8 = "\223z\v\205", '\000' <repeats 11 times>, __u6_addr16 = {31379, 34059, 0, 0, 0, 0, 0, 0}, __u6_addr32 = {2232122003, 0, 0, 0}}}, ip4 = { s_addr = 2232122003}}}, remote_ip = {family = 2, u = {ip6 = {__in6_u = {__u6_addr8 = "\223z\030.", '\000' <repeats 11 times>, __u6_addr16 = {31379, 11800, 0, 0, 0, 0, 0, 0}, __u6_addr32 = {773356179, 0, 0, 0}}}, ip4 = {s_addr = 773356179}}}, local_port = 24, remote_port = 47292, userdb_fields = 0x0, Missing separate debuginfos, use: debuginfo-install cyrus-sasl-lib-2.1.26-21.el7.x86_64 dovecot-pigeonhole-2.3.0-4.x86_64 glibc-2.17-196.el7_4.2.x86_64 keyutils-libs-1.5.8-3.el7.x86_64 krb5-libs-1.15.1-8.el7.x86_64 libcom_err-1.42.9-10.el7.x86_64 libselinux-2.5-11.el7.x86_64 nspr-4.13.1-1.0.el7_3.x86_64 nss-3.28.4-15.el7_4.x86_64 nss-softokn-freebl-3.28.3-8.el7_4.x86_64 nss-util-3.28.4-3.el7.x86_64 openldap-2.4.44-5.el7.x86_64 openssl-libs-1.0.2k-8.el7.x86_64 pcre-8.32-17.el7.x86_64 zlib-1.2.7-17.el7.x86_64 flags_override_add = (unknown: 0), flags_override_remove = (unknown: 0), no_userdb_lookup = false, debug = false, conn_secured = true, conn_ssl_secured = false} service_user = 0x55ee10150dc8 session_id = 0x55ee10150af0 "pWtqHtE7X1rqEwAASpDaHg" error = 0x0 ret = <optimized out> __func__ = "lmtp_local_rcpt" #4 0x000055ee0dff4eb9 in cmd_rcpt (conn_ctx=0x55ee10135aa8, cmd=0x55ee10150638, data=0x55ee10150728) at commands.c:66 client = 0x55ee10135aa8 username = 0x55ee100f4210 "USERNAME at example.com" detail = 0x7f6aa397e4c8 "" delim = 0 '\000' ret = <optimized out> #5 0x00007f6aa38b0baf in smtp_server_cmd_rcpt (cmd=0x55ee10150638, params=0x55ee1010eba5 "") at smtp-server-cmd-rcpt.c:181 conn = 0x55ee1014be50 set = 0x55ee1014bf10 caps = (SMTP_CAPABILITY_STARTTLS | SMTP_CAPABILITY_PIPELINING | SMTP_CAPABILITY_ENHANCEDSTATUSCODES | SMTP_CAPABILITY_8BITMIME | SMTP_CAPABILITY_CHUNKING) callbacks = 0x55ee0e1f9720 <lmtp_callbacks> command = 0x55ee10150638 rcpt_data = 0x55ee10150728 path = 0x55ee100f41c8 pperror = SMTP_PARAM_PARSE_ERROR_BAD_SYNTAX error = 0x0 ret = <optimized out> __func__ = "smtp_server_cmd_rcpt" #6 0x00007f6aa38b4cc9 in smtp_server_command_new (conn=0x55ee1014be50, name=name at entry=0x55ee1010eb70 "RCPT", params=params at entry=0x55ee1010eb90 "TO:<USERNAME at example.com>") at smtp-server-command.c:235 tmp_cmd = 0x55ee10150638 server = 0x55ee1010e768 cmd = 0x55ee10150638 __func__ = "smtp_server_command_new" #7 0x00007f6aa38b6fbf in smtp_server_connection_handle_command (cmd_params=0x55ee1010eb90 "TO:<USERNAME at example.com>", cmd_name=0x55ee1010eb70 "RCPT", conn=0x55ee1014be50) at smtp-server-connection.c:341 tmp_conn = 0x55ee1014be50 cmd = <optimized out> #8 smtp_server_connection_handle_input (conn=0x55ee1014be50) at smtp-server-connection.c:436 pending_command = 0x0 error_code = SMTP_COMMAND_PARSE_ERROR_NONE cmd_name = 0x55ee1010eb70 "RCPT" ret = 1 cmd_params = 0x55ee1010eb90 "TO:<USERNAME at example.com>" error = 0x0 #9 smtp_server_connection_input (_conn=<optimized out>) at smtp-server-connection.c:579 conn = 0x55ee1014be50 __func__ = "smtp_server_connection_input" #10 0x00007f6aa39432b5 in io_loop_call_io (io=0x55ee10109780) at ioloop.c:614 ioloop = 0x55ee100fcc80 t_id = 2 __func__ = "io_loop_call_io" #11 0x00007f6aa3944b5f in io_loop_handler_run_internal (ioloop=ioloop at entry=0x55ee100fcc80) at ioloop-epoll.c:222 ctx = 0x55ee101031c0 events = <optimized out> list = 0x55ee10135100 io = <optimized out> tv = {tv_sec = 299, tv_usec = 999674} events_count = <optimized out> msecs = <optimized out> ret = 1 i = 0 call = <optimized out> __func__ = "io_loop_handler_run_internal" #12 0x00007f6aa39433b2 in io_loop_handler_run (ioloop=ioloop at entry=0x55ee100fcc80) at ioloop.c:666 __func__ = "io_loop_handler_run" #13 0x00007f6aa39435d8 in io_loop_run (ioloop=0x55ee100fcc80) at ioloop.c:639 __func__ = "io_loop_run" #14 0x00007f6aa38c1b23 in master_service_run (service=0x55ee100fcb10, callback=callback at entry=0x55ee0dff43d0 <client_connected>) at master-service.c:767 No locals. #15 0x000055ee0dff41a6 in main (argc=1, argv=0x55ee100fc890) at main.c:159 set_roots = {0x7f6aa3bcbfc0 <smtp_submit_setting_parser_info>, 0x7f6aa412cba0 <lda_setting_parser_info>, 0x55ee0e1f9560 <lmtp_setting_parser_info>, 0x0} service_flags = <optimized out> storage_service_flags = <optimized out> tmp_base_dir = 0x55ee100f4040 "\003" c = <optimized out> error = 0x0 -------------- next part -------------- # 2.3.0 (c8b89eb): /etc/dovecot/dovecot.conf # Pigeonhole version 0.5.0.1 (d33dca2) # OS: Linux 3.10.0-693.11.6.el7.x86_64 x86_64 CentOS Linux release 7.4.1708 (Core) auth_master_user_separator = * auth_mechanisms = plain login auth_verbose = yes auth_verbose_passwords = sha1:6 doveadm_password = # hidden, use -P to show it doveadm_port = 26001 first_valid_uid = 200 imap_client_workarounds = delay-newmail listen = * lmtp_hdr_delivery_address = original lmtp_rcpt_check_quota = yes login_trusted_networks = 10.10.1.172/30 10.10.1.212/30 10.10.24.0/23 mail_debug = yes mail_gid = vmail mail_home = /srv/mail/%1n/%n mail_location = mdbox:~/dbox:ALT=/srv/archives/%1n/%n/dbox:INDEX=/srv/indexes/%1n/%n:VOLATILEDIR=/var/tmp/dovecot-volatile/%1n/%n mail_plugins = acl mailbox_alias quota mail_server_admin = mailto:postmaster at example.com mail_shared_explicit_inbox = yes 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 index ihave duplicate mime foreverypart extracttext vacation-seconds spamtest spamtestplus editheader imapflags notify mbox_write_locks = fcntl mmap_disable = yes namespace inbox { inbox = yes location = mailbox Archives { auto = subscribe special_use = \Archive } mailbox Drafts { auto = subscribe special_use = \Drafts } mailbox Junk { auto = subscribe special_use = \Junk } mailbox Sent { auto = subscribe special_use = \Sent } mailbox Trash { auto = subscribe special_use = \Trash } prefix = separator = / } namespace others { list = children location = mdbox:%%h/dbox:ALT=/srv/archives/%%1n/%%n/dbox:INDEX=/srv/indexes/%%1n/%%n:INDEXPVT=/srv/indexes/%1n/%n/shared/%%n:VOLATILEDIR=/var/tmp/dovecot-volatile/%1n/%n/shared/%%n prefix = Other Users/%%n/ separator = / subscriptions = no type = shared } passdb { args = /etc/dovecot/passwd.masterusers default_fields = userdb_master_user=%{login_user} driver = passwd-file master = yes pass = yes } passdb { args = /etc/dovecot/dovecot-ldap.conf.masterusers.acl default_fields = userdb_acl_defaults_from_inbox=yes userdb_mail=mdbox:/srv/mail/%1{login_user}/%{login_user}/dbox:ALT=/srv/archives/%1{login_user}/%{login_user}/dbox:INDEX=/srv/indexes/%1{login_user}/%{login_user}:INDEXPVT=/srv/indexes/%1n/%n/master/%{login_user}:VOLATILEDIR=/var/tmp/dovecot-volatile/%1n/%n/master/%{login_user} driver = ldap master = yes pass = yes } passdb { args = /etc/dovecot/dovecot-ldap.conf.masterusers.noacl default_fields = userdb_master_user=%{login_user} userdb_mail=mdbox:/srv/mail/%1{login_user}/%{login_user}/dbox:ALT=/srv/archives/%1{login_user}/%{login_user}/dbox:INDEX=/srv/indexes/%1{login_user}/%{login_user}:INDEXPVT=/srv/indexes/%1n/%n/master/%{login_user}:VOLATILEDIR=/var/tmp/dovecot-volatile/%1n/%n/master/%{login_user} driver = ldap master = yes pass = yes } passdb { args = /etc/dovecot/dovecot-ldap.conf.ext driver = ldap } plugin { acl = vfile:/etc/dovecot/global-acls:cache_secs=300 acl_shared_dict = file:/srv/shared/shared-mailboxes.dict fts = solr fts_autoindex = yes fts_autoindex_max_recent_msgs = 20 fts_solr = url=http://solr.localdomain:8080/solr/ last_login_dict = fs:posix:prefix=~/ last_login_key = lastlogin mail_log_events = delete undelete expunge copy mailbox_delete mailbox_rename mail_log_fields = uid box msgid from mailbox_alias_new = INBOX_spam mailbox_alias_new2 = Junk E-mail mailbox_alias_new3 = Posta indesiderata mailbox_alias_new4 = Deleted Messages mailbox_alias_new5 = Posta eliminata mailbox_alias_new6 = Sent Messages mailbox_alias_new7 = Posta inviata mailbox_alias_old = Junk mailbox_alias_old2 = Junk mailbox_alias_old3 = Junk mailbox_alias_old4 = Trash mailbox_alias_old5 = Trash mailbox_alias_old6 = Sent mailbox_alias_old7 = Sent quota = count:User quota quota_max_mail_size = 25M quota_rule = *:storage=581M quota_status_nouser = DUNNO quota_status_overquota = 552 5.2.2 Quota exceeded (mailbox for user is full) quota_status_success = DUNNO quota_vsizes = yes quota_warning = storage=100%% quota-warning 100 %n quota_warning2 = storage=95%% quota-warning 95 %n quota_warning3 = storage=90%% quota-warning 90 %n quota_warning4 = storage=80%% quota-warning 80 %n sieve = file:~/sieve;active=~/.dovecot.sieve sieve_before = /etc/dovecot/sieve/SPAMsa.sieve sieve_default = /etc/dovecot/sieve/dovecot.sieve sieve_editheader_forbid_add = X-SPAMSA-Spam-Score sieve_editheader_forbid_delete = X-SPAMSA-Spam-Score sieve_extensions = +notify +imapflags +vacation-seconds +spamtest +spamtestplus +editheader sieve_max_redirects = 16 sieve_spamtest_max_value = 10 sieve_spamtest_status_header = X-SPAMSA-Spam-Score sieve_spamtest_status_type = score sieve_vacation_min_period = 0s } pop3_client_workarounds = outlook-no-nuls oe-ns-eoh protocols = imap pop3 lmtp sieve service auth { inet_listener { port = 49494 } unix_listener auth-userdb { user = vmail } } service dict { unix_listener dict { mode = 0660 user = vmail } } service doveadm { inet_listener { port = 12345 } } service imap-login { process_min_avail = 4 service_count = 0 } service imap { process_limit = 2048 } service lmtp { inet_listener lmtp { port = 24 } process_limit = 25 process_min_avail = 10 user = vmail } service managesieve-login { inet_listener sieve { port = 4190 } inet_listener sieve_deprecated { port = 2000 } process_min_avail = 4 service_count = 0 vsz_limit = 256 M } service quota-status { client_limit = 1 executable = /usr/libexec/dovecot/quota-status -p postfix inet_listener { port = 25001 } } service quota-warning { executable = script /srv/shared/bin/dovecot-quota-warning.sh unix_listener quota-warning { user = vmail } user = vmail } service quota2-warning { executable = script /srv/shared/bin/dovecot-quota2-warning.sh unix_listener quota2-warning { user = vmail } user = vmail } ssl = required ssl_cert = </etc/pki/dovecot/certs/server-02-crt.pem ssl_client_ca_file = /etc/pki/tls/cert.pem ssl_dh = # hidden, use -P to show it ssl_key = # hidden, use -P to show it syslog_facility = local2 userdb { driver = prefetch } userdb { args = /etc/dovecot/dovecot-ldap.conf.ext driver = ldap } protocol lmtp { mail_plugins = acl mailbox_alias quota sieve postmaster_address = postmaster at example.com } protocol quota-status { auth_master_user_separator = } protocol imap { mail_max_userip_connections = 50 mail_plugins = acl mailbox_alias quota imap_quota imap_acl last_login mail_log notify } protocol sieve { mail_max_userip_connections = 50 } protocol pop3 { mail_max_userip_connections = 50
Aki Tuomi
2018-Jan-17 13:23 UTC
[BUG] dovecot 2.3.0 - service(lmtp) killed with signal 11 when user is overquota
On 17.01.2018 15:22, Marco Giunta wrote:> Hi, > I'm using dovecot 2.3.0 installed on a new CentOS 7.4 with rpm from > Dovecot repo. When I use LMTP to deliver an email to an overquota > user, lmtp service hangs with a segfault: > > Jan 17 13:39:45 server-02.example.com kernel: lmtp[5099]: segfault at > 0 ip 0000563599e372c2 sp 00007ffeaa4fdc80 error 4 in > lmtp[563599e31000+b000] > Jan 17 13:39:45 server-02.example.com dovecot[5089]: lmtp(5099): > Fatal: master: service(lmtp): child 5099 killed with signal 11 (core > dumped) > > If I try to deliver a mail with 'dovecot-lda' on the same overquota > user, email was rejected, as expected: > > Jan 17 13:38:26 server-02.example.com dovecot[6773]: > lda(USERNAME)<6773><ZbQDO8FDX1p1GgAASpDaHg>: Debug: Mailbox stdin: > Opened mail UID=1 because: copying > Jan 17 13:38:26 server-02.example.com dovecot[6773]: > lda(USERNAME)<6773><ZbQDO8FDX1p1GgAASpDaHg>: msgid=unspecified: save > failed to INBOX: Quota exceeded (mailbox for user is full) > Jan 17 13:38:26 server-02.example.com dovecot[6773]: > lda(USERNAME)<6773><ZbQDO8FDX1p1GgAASpDaHg>: msgid=unspecified: > rejected: Quota exceeded (mailbox for user is full) > Jan 17 13:38:26 server-02.example.com dovecot[6773]: > lda(USERNAME)<6773><ZbQDO8FDX1p1GgAASpDaHg>: msgid=: Return-Path > missing, rejection reason: Quota exceeded (mailbox for user is full) > > If user is no more overquota, LTMP delivery works: > > Jan 17 14:13:16 server-02.example.com dovecot[8651]: > lmtp(USERNAME at example.com)<8665><ZMKmEexLX1rZIQAASpDaHg>: Debug: > Mailbox <lmtp DATA local>: Opened mail UID=1 because: copying > Jan 17 14:13:16 server-02.example.com dovecot[8651]: > lmtp(USERNAME at example.com)<8665><ZMKmEexLX1rZIQAASpDaHg>: Debug: > INBOX: Mailbox opened because: quota count > Jan 17 14:13:16 server-02.example.com dovecot[8651]: > lmtp(USERNAME at example.com)<8665><ZMKmEexLX1rZIQAASpDaHg>: sieve: > msgid=<151619479629.10128.16766154794856971096 at client.example.com>: > stored mail into mailbox 'INBOX' > > Attached my dovecot configuration and a backtrace from gdb. > > Thanks, > ? Marco > > >Thank you for your report, we'll look into it. Aki
Stephan Bosch
2018-Jan-17 20:49 UTC
[BUG] dovecot 2.3.0 - service(lmtp) killed with signal 11 when user is overquota
Op 1/17/2018 om 2:22 PM schreef Marco Giunta:> Hi, > I'm using dovecot 2.3.0 installed on a new CentOS 7.4 with rpm from > Dovecot repo. When I use LMTP to deliver an email to an overquota > user, lmtp service hangs with a segfault: > > Jan 17 13:39:45 server-02.example.com kernel: lmtp[5099]: segfault at > 0 ip 0000563599e372c2 sp 00007ffeaa4fdc80 error 4 in > lmtp[563599e31000+b000] > Jan 17 13:39:45 server-02.example.com dovecot[5089]: lmtp(5099): > Fatal: master: service(lmtp): child 5099 killed with signal 11 (core > dumped) > > If I try to deliver a mail with 'dovecot-lda' on the same overquota > user, email was rejected, as expected: > > Jan 17 13:38:26 server-02.example.com dovecot[6773]: > lda(USERNAME)<6773><ZbQDO8FDX1p1GgAASpDaHg>: Debug: Mailbox stdin: > Opened mail UID=1 because: copying > Jan 17 13:38:26 server-02.example.com dovecot[6773]: > lda(USERNAME)<6773><ZbQDO8FDX1p1GgAASpDaHg>: msgid=unspecified: save > failed to INBOX: Quota exceeded (mailbox for user is full) > Jan 17 13:38:26 server-02.example.com dovecot[6773]: > lda(USERNAME)<6773><ZbQDO8FDX1p1GgAASpDaHg>: msgid=unspecified: > rejected: Quota exceeded (mailbox for user is full) > Jan 17 13:38:26 server-02.example.com dovecot[6773]: > lda(USERNAME)<6773><ZbQDO8FDX1p1GgAASpDaHg>: msgid=: Return-Path > missing, rejection reason: Quota exceeded (mailbox for user is full) > > If user is no more overquota, LTMP delivery works: > > Jan 17 14:13:16 server-02.example.com dovecot[8651]: > lmtp(USERNAME at example.com)<8665><ZMKmEexLX1rZIQAASpDaHg>: Debug: > Mailbox <lmtp DATA local>: Opened mail UID=1 because: copying > Jan 17 14:13:16 server-02.example.com dovecot[8651]: > lmtp(USERNAME at example.com)<8665><ZMKmEexLX1rZIQAASpDaHg>: Debug: > INBOX: Mailbox opened because: quota count > Jan 17 14:13:16 server-02.example.com dovecot[8651]: > lmtp(USERNAME at example.com)<8665><ZMKmEexLX1rZIQAASpDaHg>: sieve: > msgid=<151619479629.10128.16766154794856971096 at client.example.com>: > stored mail into mailbox 'INBOX' > > Attached my dovecot configuration and a backtrace from gdb.Fix pending: https://github.com/stephanbosch/dovecot-core/tree/fix-lmtp-quota-excess Regards, Stephan.
Aki Tuomi
2018-Jan-18 07:01 UTC
[BUG] dovecot 2.3.0 - service(lmtp) killed with signal 11 when user is overquota
On 17.01.2018 15:23, Aki Tuomi wrote:> > On 17.01.2018 15:22, Marco Giunta wrote: >> Hi, >> I'm using dovecot 2.3.0 installed on a new CentOS 7.4 with rpm from >> Dovecot repo. When I use LMTP to deliver an email to an overquota >> user, lmtp service hangs with a segfault: >> >> Jan 17 13:39:45 server-02.example.com kernel: lmtp[5099]: segfault at >> 0 ip 0000563599e372c2 sp 00007ffeaa4fdc80 error 4 in >> lmtp[563599e31000+b000] >> Jan 17 13:39:45 server-02.example.com dovecot[5089]: lmtp(5099): >> Fatal: master: service(lmtp): child 5099 killed with signal 11 (core >> dumped) >> >> If I try to deliver a mail with 'dovecot-lda' on the same overquota >> user, email was rejected, as expected: >> >> Jan 17 13:38:26 server-02.example.com dovecot[6773]: >> lda(USERNAME)<6773><ZbQDO8FDX1p1GgAASpDaHg>: Debug: Mailbox stdin: >> Opened mail UID=1 because: copying >> Jan 17 13:38:26 server-02.example.com dovecot[6773]: >> lda(USERNAME)<6773><ZbQDO8FDX1p1GgAASpDaHg>: msgid=unspecified: save >> failed to INBOX: Quota exceeded (mailbox for user is full) >> Jan 17 13:38:26 server-02.example.com dovecot[6773]: >> lda(USERNAME)<6773><ZbQDO8FDX1p1GgAASpDaHg>: msgid=unspecified: >> rejected: Quota exceeded (mailbox for user is full) >> Jan 17 13:38:26 server-02.example.com dovecot[6773]: >> lda(USERNAME)<6773><ZbQDO8FDX1p1GgAASpDaHg>: msgid=: Return-Path >> missing, rejection reason: Quota exceeded (mailbox for user is full) >> >> If user is no more overquota, LTMP delivery works: >> >> Jan 17 14:13:16 server-02.example.com dovecot[8651]: >> lmtp(USERNAME at example.com)<8665><ZMKmEexLX1rZIQAASpDaHg>: Debug: >> Mailbox <lmtp DATA local>: Opened mail UID=1 because: copying >> Jan 17 14:13:16 server-02.example.com dovecot[8651]: >> lmtp(USERNAME at example.com)<8665><ZMKmEexLX1rZIQAASpDaHg>: Debug: >> INBOX: Mailbox opened because: quota count >> Jan 17 14:13:16 server-02.example.com dovecot[8651]: >> lmtp(USERNAME at example.com)<8665><ZMKmEexLX1rZIQAASpDaHg>: sieve: >> msgid=<151619479629.10128.16766154794856971096 at client.example.com>: >> stored mail into mailbox 'INBOX' >> >> Attached my dovecot configuration and a backtrace from gdb. >> >> Thanks, >> ? Marco >> >> >> > Thank you for your report, we'll look into it. > > AkiHi! This is fixed with https://github.com/dovecot/core/commit/2bf919786518d138cc07d9cc21e14ad5e07e5e56.patch Aki Tuomi
Possibly Parallel Threads
- [BUG] dovecot 2.3.0 - service(lmtp) killed with signal 11 when user is overquota
- [BUG] dovecot 2.3.0 - service(lmtp) killed with signal 11 when user is overquota
- overquota message
- [exim] Exim + Dovecot deliver overquota problems
- dovecot overquota and delete message