<html><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; line-break: after-white-space;" class=""><div class=""><br class=""><div><br class=""><blockquote type="cite" class=""><div class="">On 28. Apr 2021, at 21.57, Joan Moreau <<a href="mailto:jom@grosjo.net" class="">jom@grosjo.net</a>> wrote:</div><br class="Apple-interchange-newline"><div class=""><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" class=""><div style="font-size: 9pt; font-family: Verdana,Geneva,sans-serif" class=""><p class="">Not much details</p><p class="">Git version (including the patch you sent) raised CPU load very very high.</p><p class="">Can't play too much on my production server.</p><p class="">Let me know if I can help</p>
<div id="signature" class=""></div><p class=""><br class=""></p><p id="reply-intro" class="">On 2021-04-28 06:12, Aki Tuomi wrote:</p>
<blockquote type="cite" style="padding: 0 0.4em; border-left: #1010ff 2px solid; margin: 0" class="">
<div id="replybody1" class="">
<div style="font-size: 9pt; font-family: Verdana,Geneva,sans-serif;" class="">Can you provide any details on this instability?<br class=""><br class="">Aki<br class=""><br class="">
<div class="v1gmail_quote">On April 27, 2021 7:58:01 PM UTC, Joan Moreau <<a href="mailto:jom@grosjo.net" class="">jom@grosjo.net</a>> wrote:
<blockquote class="v1gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid #cccccc; padding-left: 1ex;"><p class="">Ok, a third regression is that it becomes highly unstable with the patch you sent</p><p class="">I had to get back to 2.3.14</p><p class=""><br class=""></p>
<div id="v1signature" class=""></div><p class=""><br class=""></p><p id="v1reply-intro" class="">On 2021-04-27 17:07, Joan Moreau wrote:</p>
<blockquote style="padding: 0 0.4em; border-left: #1010ff 2px solid; margin: 0;" class="">
<div id="v1replybody1" class="">
<div style="font-size: 9pt; font-family: Verdana,Geneva,sans-serif;" class=""><p class="">Indeed, latest git works much better :)</p>
<div id="v1v1signature" class=""></div><p class=""><br class=""></p><p id="v1v1reply-intro" class="">On 2021-04-27 05:58, Aki Tuomi wrote:</p>
<blockquote style="padding: 0 0.4em; border-left: #1010ff 2px solid; margin: 0;" class="">
<div class="v1v1pre" style="margin: 0; padding: 0; font-family: monospace;">Can you try with latest git? We did some improvements on the systemd configure parts.<br class=""><br class="">Aki<br class=""><br class="">
<blockquote style="padding: 0 0.4em; border-left: #1010ff 2px solid; margin: 0;" class="">On 26/04/2021 23:32 Joan Moreau <<a href="mailto:jom@grosjo.net" rel="noreferrer" class="">jom@grosjo.net</a>> wrote:<br class=""><br class=""><br class="">Looking at config.log, there is #define HAVE_LIBSYSTEMD 1<br class="">But "Type=notify" does not appear<br class="">My systemd is version 248<br class=""><br class=""><br class=""><br class="">On 2021-04-26 12:05, Joan Moreau wrote:
<blockquote style="padding: 0 0.4em; border-left: #1010ff 2px solid; margin: 0;" class="">I have<br class=""># sudo systemctl status dovecot<br class="">● dovecot.service - Dovecot IMAP/POP3 email server<br class=""> Loaded: loaded (/usr/lib/systemd/system/dovecot.service; enabled; vendor preset: disabled)<br class=""> Active: active (running) since Sun 2021-04-25 20:13:25 UTC; 14h ago<br class=""> Docs: man:dovecot(1)<br class=""> <a href="https://doc.dovecot.org/" target="_blank" rel="noopener noreferrer" class="">https://doc.dovecot.org/</a><br class=""> Main PID: 2559364 (dovecot)<br class=""> Tasks: 28 (limit: 76912)<br class=""> Memory: 1.0G<br class=""> CPU: 7min 18.342s<br class=""> CGroup: /system.slice/dovecot.service<br class=""> ├─2559364 /usr/sbin/dovecot -F<br class=""> ├─2559366 dovecot/imap-login<br class=""> ├─2559367 dovecot/anvil [11 connections]<br class=""> ├─2559368 dovecot/log<br class=""><br class=""><br class=""><br class="">On 2021-04-26 08:32, Aki Tuomi wrote:
<blockquote style="padding: 0 0.4em; border-left: #1010ff 2px solid; margin: 0;" class="">I don't know then. It works for me and I just tried it again. The only reason it would fail would be that HAVE_LIBSYSTEMD is not defined, so it would not be using libsystemd for notify support.<br class=""><br class="">$ sudo systemctl status dovecot<br class="">● dovecot.service - Dovecot IMAP/POP3 email server<br class=""> Loaded: loaded (/lib/systemd/system/dovecot.service; disabled; vendor preset: enabled)<br class=""> Active: active (running) since Mon 2021-04-26 10:30:02 EEST; 2s ago<br class=""> Docs: man:dovecot(1)<br class=""> <a href="https://doc.dovecot.org/" target="_blank" rel="noopener noreferrer" class="">https://doc.dovecot.org/</a><br class=""> Main PID: 30213 (dovecot)<br class=""> Status: "v2.4.devel (98a1cca054) running"<br class=""> Tasks: 4 (limit: 4701)<br class=""> Memory: 3.3M<br class=""> CGroup: /system.slice/dovecot.service<br class=""> ├─30213 /home/cmouse/dovecot/sbin/dovecot -F<br class=""> ├─30214 dovecot/anvil<br class=""> ├─30215 dovecot/log<br class=""> └─30216 dovecot/config<br class=""><br class="">You can tell from the "Status" line that it's using Type=notify.<br class=""><br class="">Aki<br class=""><br class=""><br class="">
<blockquote style="padding: 0 0.4em; border-left: #1010ff 2px solid; margin: 0;" class="">On 26/04/2021 10:29 Joan Moreau <<a href="mailto:jom@grosjo.net" rel="noreferrer" class="">jom@grosjo.net</a>> wrote:<br class=""><br class=""><br class="">Yes, I do run autogen.sh after every "git pull"<br class=""><br class=""><br class="">On 2021-04-26 08:21, Aki Tuomi wrote:
<blockquote style="padding: 0 0.4em; border-left: #1010ff 2px solid; margin: 0;" class="">The current autoconf code is bit buggy, but if you do indeed have libsystemd-dev installed it should do the right thing and will work with systemd even if you have Type=notify.<br class=""><br class="">This has been actually tested, so if it's not working, then something else is wrong.<br class=""><br class="">Did you remember to run ./autogen.sh after pulling from git to make sure you get new configure script? <br class=""><br class="">Aki<br class=""><br class=""><br class=""><br class="">
<blockquote style="padding: 0 0.4em; border-left: #1010ff 2px solid; margin: 0;" class="">On 26/04/2021 10:11 Joan Moreau <<a href="mailto:jom@grosjo.net" rel="noreferrer" class="">jom@grosjo.net</a>> wrote:<br class=""><br class=""><br class="">Yes systemd is installed (and the "dev" files as well)<br class=""><br class=""><br class="">On 2021-04-26 06:23, Aki Tuomi wrote:
<blockquote style="padding: 0 0.4em; border-left: #1010ff 2px solid; margin: 0;" class="">This is because you are not compiling with libsystemd-dev installed. I guess we need to make some service template that use type simple when you don't use libsystemd.<br class=""><br class="">Aki<br class=""><br class=""><br class=""><br class=""><br class="">
<blockquote style="padding: 0 0.4em; border-left: #1010ff 2px solid; margin: 0;" class="">On 25/04/2021 22:53 Joan Moreau <<a href="mailto:jom@grosjo.net" rel="noreferrer" class="">jom@grosjo.net</a>> wrote:<br class=""><br class=""><br class="">Yes, it seems fixed with this patch :)<br class=""><br class="">Another bug with git, is the "type=" in systemd is switched from "simple" to "notify". The later does not work and reverting to "simple" does work<br class=""><br class=""><br class="">On 2021-04-25 17:53, Aki Tuomi wrote:
<blockquote style="padding: 0 0.4em; border-left: #1010ff 2px solid; margin: 0;" class="">
<blockquote style="padding: 0 0.4em; border-left: #1010ff 2px solid; margin: 0;" class="">On 24/04/2021 21:56 Joan Moreau <<a href="mailto:jom@grosjo.net" rel="noreferrer" class="">jom@grosjo.net</a>> wrote:<br class=""><br class=""><br class="">chroot= does not resolve the issue<br class="">I have "chroot = login" in my conf<br class=""><br class=""></blockquote>
<br class="">Thanks!<br class=""><br class="">The chroot was needed to get the core dump.<br class=""><br class="">Can you try if this does fix the crash?<br class=""><br class="">Aki<br class=""><br class="">From 1df4e02cbff710ce8938480b07a5690e37f661f6 Mon Sep 17 00:00:00 2001<br class="">From: Timo Sirainen <<a href="mailto:timo.sirainen@open-xchange.com" rel="noreferrer" class="">timo.sirainen@open-xchange.com</a>><br class="">Date: Fri, 23 Apr 2021 16:43:36 +0300<br class="">Subject: [PATCH] login-common: Fix handling destroyed_clients linked list<br class=""><br class="">The client needs to be removed from destroyed_clients linked list before<br class="">it's added to client_fd_proxies linked list.<br class=""><br class="">Broken by 1c622cdbe08df2f642e28923c39894516143ae2a<br class="">---<br class=""> src/login-common/client-common.c | 11 +++++++----<br class=""> 1 file changed, 7 insertions(+), 4 deletions(-)<br class=""><br class="">diff --git a/src/login-common/client-common.c b/src/login-common/client-common.c<br class="">index bdb6e9c798..1d264d9f75 100644<br class="">--- a/src/login-common/client-common.c<br class="">+++ b/src/login-common/client-common.c<br class="">@@ -289,8 +289,9 @@ void client_disconnect(struct client *client, const char *reason,<br class=""> /* Login was successful. We may now be proxying the connection,<br class=""> so don't disconnect the client until client_unref(). */<br class=""> if (client->iostream_fd_proxy != NULL) {<br class="">+ i_assert(!client->fd_proxying);<br class=""> client->fd_proxying = TRUE;<br class="">- i_assert(client->prev == NULL && client->next == NULL);<br class="">+ DLLIST_REMOVE(&destroyed_clients, client);<br class=""> DLLIST_PREPEND(&client_fd_proxies, client);<br class=""> client_fd_proxies_count++;<br class=""> }<br class="">@@ -307,8 +308,9 @@ void client_destroy(struct client *client, const char *reason)<br class=""> <br class=""> if (last_client == client)<br class=""> last_client = client->prev;<br class="">- /* remove from clients linked list before it's added to<br class="">- client_fd_proxies. */<br class="">+ /* move to destroyed_clients linked list before it's potentially<br class="">+ added to client_fd_proxies. */<br class="">+ i_assert(!client->fd_proxying);<br class=""> DLLIST_REMOVE(&clients, client);<br class=""> DLLIST_PREPEND(&destroyed_clients, client);<br class=""> <br class="">@@ -409,13 +411,14 @@ bool client_unref(struct client **_client)<br class=""> DLLIST_REMOVE(&client_fd_proxies, client);<br class=""> i_assert(client_fd_proxies_count > 0);<br class=""> client_fd_proxies_count--;<br class="">+ } else {<br class="">+ DLLIST_REMOVE(&destroyed_clients, client);<br class=""> }<br class=""> i_stream_unref(&client->input);<br class=""> o_stream_unref(&client->output);<br class=""> i_close_fd(&client->fd);<br class=""> event_unref(&client->event);<br class=""> <br class="">- DLLIST_REMOVE(&destroyed_clients, client);<br class=""> i_free(client->proxy_user);<br class=""> i_free(client->proxy_master_user);<br class=""> i_free(client->virtual_user);</blockquote>
</blockquote>
</blockquote>
</blockquote>
</blockquote>
</blockquote>
</blockquote>
</blockquote>
</blockquote>
</div>
</blockquote>
</div>
</div>
</blockquote>
</blockquote>
</div>
</div>
</div>
</blockquote>
</div>
</div></blockquote></div><br class=""></div></body></html>