[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@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@example.com)<8665><ZMKmEexLX1rZIQAASpDaHg>: Debug: INBOX: Mailbox opened because: quota count Jan 17 14:13:16 server-02.example.com dovecot[8651]: lmtp(USERNAME@example.com)<8665><ZMKmEexLX1rZIQAASpDaHg>: sieve: msgid=151619479629.10128.16766154794856971096@client.example.com: stored mail into mailbox 'INBOX'
Attached my dovecot configuration and a backtrace from gdb.
Thanks, Marco
--
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@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@example.com)<8665><ZMKmEexLX1rZIQAASpDaHg>: Debug: INBOX: Mailbox opened because: quota count Jan 17 14:13:16 server-02.example.com dovecot[8651]: lmtp(USERNAME@example.com)<8665><ZMKmEexLX1rZIQAASpDaHg>: sieve: msgid=151619479629.10128.16766154794856971096@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
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@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@example.com)<8665><ZMKmEexLX1rZIQAASpDaHg>: Debug: INBOX: Mailbox opened because: quota count Jan 17 14:13:16 server-02.example.com dovecot[8651]: lmtp(USERNAME@example.com)<8665><ZMKmEexLX1rZIQAASpDaHg>: sieve: msgid=151619479629.10128.16766154794856971096@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
Hi!
This is fixed with https://github.com/dovecot/core/commit/2bf919786518d138cc07d9cc21e14ad5e07e5...
Aki Tuomi
On 2018-01-18 08:01, Aki Tuomi wrote:
Hi!
This is fixed with https://github.com/dovecot/core/commit/2bf919786518d138cc07d9cc21e14ad5e07e5...
Aki Tuomi
yes, it works.
Thanks, Marco
--
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@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@example.com)<8665><ZMKmEexLX1rZIQAASpDaHg>: Debug: INBOX: Mailbox opened because: quota count Jan 17 14:13:16 server-02.example.com dovecot[8651]: lmtp(USERNAME@example.com)<8665><ZMKmEexLX1rZIQAASpDaHg>: sieve: msgid=151619479629.10128.16766154794856971096@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.
participants (3)
-
Aki Tuomi
-
Marco Giunta
-
Stephan Bosch