Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 13 Jan 2026 03:02:24 +0000
From:      bugzilla-noreply@freebsd.org
To:        ports-bugs@FreeBSD.org
Subject:   [Bug 292185] mail/mailman3: service mailman restart doesn't truly restart
Message-ID:  <bug-292185-7788-UseCN68Fmn@https.bugs.freebsd.org/bugzilla/>
In-Reply-To: <bug-292185-7788@https.bugs.freebsd.org/bugzilla/>

index | next in thread | previous in thread | raw e-mail

https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=292185

--- Comment #3 from takeda@takeda.tk ---
This is not the mailman front end, it is the API that front end communicates
with.

That API runs via gunicorn. This was very obvious to me when a recent update to
python 3.11 was pushed.

When calleed `checkrestart` (sysutils/checkrestart)

Some processes restarted but the uvicorn ones were left running and they are
still holding the old configuration.

Yes, this is upstream issue, but at this point the restart is broken and the
service restart is not doing it. In their service they attached "mailman
restart" under service reload, and that's probably why there's no one asking to
fix it. I think we should do the same.

Anyway here's illustration of this:

s# ps -uU mailman
USER      PID %CPU %MEM    VSZ   RSS TT  STAT STARTED      TIME COMMAND
mailman 88733  0,5  0,1 110628 11080  -  S     3sty26 134:39,44 python3.11:
qcluster Process-437c35483326421eaaf030779a691787 pusher (python3.11)
mailman  1830  0,0  0,3  55044 23520  -  I    17:00     0:00,18 httpd:
mailman-web (httpd)
mailman 88723  0,0  0,0  14208   776  -  Is    3sty26   0:00,00 daemon:
/usr/local/mailman/manage.py[88724] (daemon)
mailman 88724  0,0  0,1 109536  5336  -  I     3sty26   0:01,09 python3.11:
qcluster MainProcess network-yellow-cold-hamper (python3.11)
mailman 88726  0,0  0,2 117796 13104  -  S     3sty26  18:25,38 python3.11:
qcluster MainProcess network-yellow-cold-hamper (python3.11)
mailman 88728  0,0  0,1 109592  5640  -  I     3sty26   0:00,00 python3.11:
qcluster Process-a34478fc699b4846af4d4a4df41a50f7 idle (python3.11)
mailman 88729  0,0  0,1 109596  5652  -  I     3sty26   0:00,00 python3.11:
qcluster Process-863c62c507704169953da52aef146a37 idle (python3.11)
mailman 88730  0,0  0,1 110624  5676  -  I     3sty26   0:00,00 python3.11:
qcluster Process-bc9154810ab84f7e8e71e9a41955bb57 idle (python3.11)
mailman 88731  0,0  0,1 110628  5724  -  I     3sty26   0:00,00 python3.11:
qcluster Process-5c0dee530ca24b1fadeba31ef343406c idle (python3.11)
mailman 88732  0,0  0,1 110628  5728  -  I     3sty26   0:00,00 python3.11:
qcluster Process-ddf3bb7633614ce8bcf9fee867ef3ee1 monitor (python3.11)
mailman 89062  0,0  0,0 123532  3576  -  Is    3sty26   0:01,35 python3.11:
mailman: master (python3.11)
mailman 89076  0,0  0,0 123532  3976  -  S     3sty26   1:37,97 python3.11:
mailman: runner [archive] (python3.11)
mailman 89077  0,0  0,2 125580 13340  -  I     3sty26   0:26,06 python3.11:
mailman: runner [bounces] (python3.11)
mailman 89078  0,0  0,0 131724  3968  -  S     3sty26   1:37,95 python3.11:
mailman: runner [command] (python3.11)
mailman 89079  0,0  0,0 123532  3976  -  S     3sty26   1:37,97 python3.11:
mailman: runner [in] (python3.11)
mailman 89080  0,0  0,0 127776  3588  -  S     3sty26   0:19,71 python3.11:
mailman: runner [lmtp] (python3.11)
mailman 89081  0,0  0,0 123532  3968  -  S     3sty26   1:28,94 python3.11:
mailman: runner [out] (python3.11)
mailman 89082  0,0  0,0 123532  3960  -  S     3sty26   1:38,00 python3.11:
mailman: runner [pipeline] (python3.11)
mailman 89083  0,0  0,0 130320  4088  -  S     3sty26   1:14,38 python3.11:
gunicorn: master [mailman: runner [rest]] (python3.11)
mailman 89084  0,0  0,0 123532  3976  -  I     3sty26   0:01,45 python3.11:
mailman: runner [retry] (python3.11)
mailman 89085  0,0  0,2 124556 14636  -  S     3sty26   0:07,26 python3.11:
mailman: runner [task] (python3.11)
mailman 89086  0,0  0,0 123532  3956  -  S     3sty26   1:28,48 python3.11:
mailman: runner [virgin] (python3.11)
mailman 89087  0,0  0,0 123532  3960  -  S     3sty26   1:38,08 python3.11:
mailman: runner [digest] (python3.11)
mailman 89140  0,0  0,3 143632 21760  -  I     3sty26   0:06,52 python3.11:
gunicorn: worker [mailman: runner [rest]] (python3.11)
mailman 89142  0,0  0,3 143632 24104  -  I     3sty26   0:05,98 python3.11:
gunicorn: worker [mailman: runner [rest]] (python3.11)
# service mailman restart
Restarting the Mailman runners

<waiting a bit as this is also not instantaneous>

# ps -uU mailman
USER      PID %CPU %MEM    VSZ   RSS TT  STAT STARTED      TIME COMMAND
mailman 88733  0,6  0,1 110628 11080  -  S     3sty26 134:41,47 python3.11:
qcluster Process-437c35483326421eaaf030779a691787 pusher (python3.11)
mailman  1830  0,0  0,3  55044 21120  -  I    17:00     0:00,19 httpd:
mailman-web (httpd)
mailman 43936  0,0  1,2 123532 96452  -  S    18:56     0:01,32 python3.11:
mailman: runner [out] (python3.11)
mailman 43940  0,0  1,2 123532 96428  -  I    18:56     0:01,29 python3.11:
mailman: runner [retry] (python3.11)
mailman 43942  0,0  1,2 123532 96408  -  S    18:56     0:01,31 python3.11:
mailman: runner [in] (python3.11)
mailman 43959  0,0  1,2 123532 96412  -  S    18:56     0:01,26 python3.11:
mailman: runner [pipeline] (python3.11)
mailman 43980  0,0  1,2 123532 96960  -  S    18:56     0:01,29 python3.11:
mailman: runner [digest] (python3.11)
mailman 43981  0,0  1,2 124556 99212  -  S    18:56     0:01,35 python3.11:
mailman: runner [task] (python3.11)
mailman 43989  0,0  1,2 127776 97300  -  S    18:56     0:01,29 python3.11:
mailman: runner [lmtp] (python3.11)
mailman 43991  0,0  1,2 123532 96956  -  S    18:56     0:01,29 python3.11:
mailman: runner [virgin] (python3.11)
mailman 44013  0,0  1,2 124556 99380  -  S    18:56     0:01,35 python3.11:
mailman: runner [bounces] (python3.11)
mailman 44043  0,0  1,2 123532 97060  -  S    18:56     0:01,24 python3.11:
mailman: runner [command] (python3.11)
mailman 44045  0,0  1,2 123532 97036  -  S    18:56     0:01,24 python3.11:
mailman: runner [archive] (python3.11)
mailman 88723  0,0  0,0  14208   776  -  Is    3sty26   0:00,00 daemon:
/usr/local/mailman/manage.py[88724] (daemon)
mailman 88724  0,0  0,1 109536  5336  -  I     3sty26   0:01,09 python3.11:
qcluster MainProcess network-yellow-cold-hamper (python3.11)
mailman 88726  0,0  0,2 117796 13088  -  S     3sty26  18:25,66 python3.11:
qcluster MainProcess network-yellow-cold-hamper (python3.11)
mailman 88728  0,0  0,1 109592  5640  -  I     3sty26   0:00,00 python3.11:
qcluster Process-a34478fc699b4846af4d4a4df41a50f7 idle (python3.11)
mailman 88729  0,0  0,1 109596  5652  -  I     3sty26   0:00,00 python3.11:
qcluster Process-863c62c507704169953da52aef146a37 idle (python3.11)
mailman 88730  0,0  0,1 110624  5676  -  I     3sty26   0:00,00 python3.11:
qcluster Process-bc9154810ab84f7e8e71e9a41955bb57 idle (python3.11)
mailman 88731  0,0  0,1 110628  5724  -  I     3sty26   0:00,00 python3.11:
qcluster Process-5c0dee530ca24b1fadeba31ef343406c idle (python3.11)
mailman 88732  0,0  0,1 110628  5728  -  I     3sty26   0:00,00 python3.11:
qcluster Process-ddf3bb7633614ce8bcf9fee867ef3ee1 monitor (python3.11)
mailman 89062  0,0  0,2 123532 12928  -  Is    3sty26   0:01,38 python3.11:
mailman: master (python3.11)
mailman 89083  0,0  0,1 130320  7756  -  S     3sty26   1:14,42 python3.11:
gunicorn: master [mailman: runner [rest]] (python3.11)
mailman 89140  0,0  0,3 143632 23292  -  I     3sty26   0:06,53 python3.11:
gunicorn: worker [mailman: runner [rest]] (python3.11)
mailman 89142  0,0  0,3 143632 23516  -  I     3sty26   0:05,99 python3.11:
gunicorn: worker [mailman: runner [rest]] (python3.11)


qcluster is separate service (same with httpd), but gunicorn which is part of
mailman service is unaffected by the reload, but it is gunicorn which is
actually receiving calls from posterious.

-- 
You are receiving this mail because:
You are the assignee for the bug.

home | help

Want to link to this message? Use this
URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?bug-292185-7788-UseCN68Fmn>