Hi We tried to update our Dovecot Director-Ring to 2.3 (latest version) and had one problem/bug. When we try to deliver an email from Exim to a receiving Dovecot (2.3 latest) via the LMTP-Proxy the LMTP process stays open forever and never closes. So after a few hours, we hit the LMPT-Process limit.? The problem only exists if the receiving Dovecot reports "Quota exceeded (mailbox for user is full)" back to the Exim. If this is the case the state on the LMPT process stays at "lmtp: [_IP_ RCPT TO] (lmtp) and never closes. The TCP-Connection to the Exim is then in CLOSE_WAIT state on the Proxy. On the receiving Dovecot we set the "lmtp_rcpt_check_quota=yes" option. For me, it sounds similar to this bug:?https://dovecot.org/list/dovecot/2018-January/110697.html?but without the SEGFAULT which makes it harder to debug it. May you guys know why it doesn't change the state to IDLE or READY after reporting the quota issue or see something fishy in the commit above. If not I try to get a trace of the hanging process. Greetings Pascal -------------- next part -------------- An HTML attachment was scrubbed... URL: <https://dovecot.org/pipermail/dovecot/attachments/20191005/fb588b8b/attachment.html>
On 05/10/2019 13:01, Pascal Christen via dovecot wrote:> > Hi > > > We tried to update our Dovecot Director-Ring to 2.3 (latest version) > and had one problem/bug. When we try to deliver an email from Exim to > a receiving Dovecot (2.3 latest) via the LMTP-Proxy the LMTP process > stays open forever and never closes. So after a few hours, we hit the > LMPT-Process limit. > > The problem only exists if the receiving Dovecot reports "Quota > exceeded (mailbox for user is full)" back to the Exim. If this is the > case the state on the LMPT process stays at "lmtp: [_IP_ RCPT TO] > (lmtp) and never closes. The TCP-Connection to the Exim is then in > CLOSE_WAIT state on the Proxy. On the receiving Dovecot we set the > "lmtp_rcpt_check_quota=yes" option. For me, it sounds similar to this > bug: https://dovecot.org/list/dovecot/2018-January/110697.html?but > without the SEGFAULT which makes it harder to debug it. > > May you guys know why it doesn't change the state to IDLE or READY > after reporting the quota issue or see something fishy in the commit > above. If not I try to get a trace of the hanging process. > > > Greetings Pascal >So far, I haven't been able to reproduce anything weird at this end. Can you provide: - Output from `dovecot -n' - Protocol logs from the connections between Exim and Dovecot director/proxy and between Dovecot director/proxy and Dovecot backend (e.g. using ngrep when connections are plaintext or using the rawlog facility). - Dovecot debug logs produced with `log_debug=category:lmtp' for both director/proxy and backend Regards, Stephan.
Hi I tried to get some logs: https://pastebin.com/Z8xVzpzW As you can see the process isn't shutdown and still in transaction as long dovecot is running. It destroyed the transaction when I stopped Dovecot. And this behavior only happens when the mailbox of user is full... Any Ideas how to debug this correctly?> So far, I haven't been able to reproduce anything weird at this end. > Can you provide: > > - Output from `dovecot -n' > - Protocol logs from the connections between Exim and Dovecot > director/proxy and between Dovecot director/proxy and Dovecot backend > (e.g. using ngrep when connections are plaintext or using the rawlog > facility). > - Dovecot debug logs produced with `log_debug=category:lmtp' for both > director/proxy and backend > > Regards, > > Stephan. > >