
Adding mailman-users@mailman3.org. Technical suggestions should go to distro channels or to Mailman's issue tracker: https://gitlab.com/mailman/mailman/-/issues/1176. Further discussion of technical details is best done there.
Thomas Krichel writes:
Stephen J. Turnbull writes
Debian has traditionally been quite slow to update Mailman,
And now it has the addition issue that Debian testing python standard it 3.13, so the nntplib is no longer supported. Thus the current Mailman debian testing appears broken.
That's Debian's problem, as we currently don't support Python 3.13, although of course we intend to. This is the only issue that came up in a quick search of Mailman's issue tracker for Python 3.13 (but I did not check the other subprojects such as Postorius). I conclude that not a lot of work has been done on supporting Python 3.13 (rather than the optimistic "there's nothing to be done"). From Mailman's point of view, users have two excellent options for the forseeable future: (1) don't gateway list <-> newsgroups (2) install Mailman into a Python 3.9--3.12 virtual environment.
I'm sympathetic to the needs of the Debian developers, and at this point for 99% of software it's perfectly reasonable to aim to use 3.13 in the next Debian release. Unfortunately for Mailman users on Debian hosts that's not high on our list of priorities since we recommend a virtual environment installation in any case.
At present there seem to be three ways forward for Debian packaging:
- Remove NNTP support. (In honor of larsi, I'd rather not.)
- Add nntplib.py from the Python 3.12 nntplib, as a stopgap until option 3 can be implemented. I can't speak for other developers but we might be willing to add it as a contrib module, especially if that might make life easier for distro packagers. It's suboptimal though since that absolutely has to be considered techical debt that will need to be paid someday.
- Port Mailman to pynntp (that may need to be Debian packaged, too), which has seen a revival of activity and two feature releases since 2023.
My inclination as a Mailman core developer is not to participate actively in development of NNTP support in Mailman for Python 3.13+ unless we see an outpouring of support from site admins. However, I would be happy to answer questions and work on Mailman-side issues that are blocking or inconvenient for the NNTP work. Mark and Abhilash would undoubtedly contribute as well, on a time-available basis.
I certainly would love to build an alternative Mailman Debian package that would be more up-to-date, but I don't want to do it on my own.
Debian and Python are compatible free software; just take the existing package metadata, in a recent Mailman (presumably the most recent release) drop in the most recent nntplib, and change all the import statements. mailman/src/mailman/mta/nntplib.py seems like a plausible location. IWBNI you could keep all Mailmanisms out of nntplib (because of the GPL) so any bugfixes or improvements could be available to the Python community.
I think you could probably be up and running VERY quickly with that approach. Of course it wouldn't just slot into the next iteration of Debian because they have stringent QA (or maybe that could go into unstable?). I'm pretty sure it would be useful right away to a whole lot of people who are willing to use a PPA.
Regards, Steve

On 2025-02-05 14:46:47 +0000 (+0000), Stephen J. Turnbull wrote: [...]
- Remove NNTP support. (In honor of larsi, I'd rather not.)
- Add nntplib.py from the Python 3.12 nntplib, as a stopgap until option 3 can be implemented. I can't speak for other developers but we might be willing to add it as a contrib module, especially if that might make life easier for distro packagers. It's suboptimal though since that absolutely has to be considered techical debt that will need to be paid someday.
- Port Mailman to pynntp (that may need to be Debian packaged, too), which has seen a revival of activity and two feature releases since 2023. [...]
Debian is also providing the 3.12 nntplib extracted from stdlib for 3.13: https://packages.debian.org/python3-standard-nntplib
In theory they could just add that package as a dependency.
-- Jeremy Stanley

"Jeremy" == Jeremy Stanley <fungi@yuggoth.org> writes:
- Remove NNTP support. (In honor of larsi, I'd rather not.) 2.
Jeremy> Debian is also providing the 3.12 nntplib extracted from Jeremy> stdlib for 3.13: Jeremy> https://packages.debian.org/python3-standard-nntplib
See https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1092827

Stephen J. Turnbull writes
than the optimistic "there's nothing to be done"). From Mailman's point of view, users have two excellent options for the forseeable future: (1) don't gateway list <-> newsgroups
I have no use for that feature anyway. I have not seen a configuration option to disable it. What I have done is
# diff /usr/lib/python3/dist-packages/mailman/utilities/modules.py~ /usr/lib/python3/dist-packages/mailman/utilities/modules.py 149a150,151
if(module_name == 'mailman.commands.cli_gatenews'): continue
Thanks to all and cheers!
-- Written by Thomas Krichel http://openlib.org/home/krichel on his 21796th day.

On 2/5/25 11:42, Thomas Krichel wrote:
I have no use for that feature anyway. I have not seen a configuration option to disable it. What I have done is
# diff /usr/lib/python3/dist-packages/mailman/utilities/modules.py~ /usr/lib/python3/dist-packages/mailman/utilities/modules.py 149a150,151
if(module_name == 'mailman.commands.cli_gatenews'): continue
As of Mailman 3.3.10 (not yet released) the nntp runner is not started by default. For older releases you can add
[runner.nntp]
start: no
to mailman.cfg
-- Mark Sapiro <mark@msapiro.net> The highway is for gamblers, San Francisco Bay Area, California better use your sense - B. Dylan

Mark Sapiro wrote on 2025-02-05 12:48:
As of Mailman 3.3.10 (not yet released) the nntp runner is not started by default.
This is a welcome change, thank you.
For older releases you can add
[runner.nntp] start: no
to mailman.cfg
I've been digging into MM3 resource usage vs MM2 and have been wondering: are there any other runners that can be disabled, or invoked via cron job to run every $interval then exit again?
Second question, similar topic but MM2: how to disable NNTP? (if that's what this is doing):
/usr/bin/python2 /var/lib/mailman/bin/qrunner --runner=NewsRunner:0:1 -s
Thanks again.

On 2/5/25 13:03, Ron / BCLUG wrote:
I've been digging into MM3 resource usage vs MM2 and have been wondering: are there any other runners that can be disabled, or invoked via cron job to run every $interval then exit again?
The task runner is a candidate. It only actually does anything at intervals defined by the run_tasks_every setting in the [mailman] section of mailman.cfg, default 1 hour https://gitlab.com/mailman/mailman/-/blob/master/src/mailman/config/schema.c..., but it still wakes up and comes into memory every sleep_time which defaults to 1 second.
If just having the runners sleep longer works for you, you can set, e.g.
[runner.task]
sleep_time: 10m
to only wake up the task runner every 10 minutes. If you really want it gone, you could put
[runner.task]
start: no
in mailman.cfg to prevent starting it as a persistent runner, and make a python script like:
#!/opt/mailman/mm/venv/bin/python
from mailman.core import initialize
from mailman.runners.task import TaskRunner
initialize.initialize()
TaskRunner('task')._do_periodic()
and run that periodically via cron. I'm not certain, but I think task runner is the only runner for which it's that simple.
Second question, similar topic but MM2: how to disable NNTP? (if that's what this is doing):
/usr/bin/python2 /var/lib/mailman/bin/qrunner --runner=NewsRunner:0:1 -s
Put this in mm_cfg.py
del QRUNNERS[QRUNNERS.index(('NewsRunner', 1))]
or if you already have some modifications to the QRUNNERS list in mm_cfg.py, make the appropriate adjustment to remove the NewsRunner entry.
-- Mark Sapiro <mark@msapiro.net> The highway is for gamblers, San Francisco Bay Area, California better use your sense - B. Dylan

Mark Sapiro writes
For older releases you can add
[runner.nntp] start: no
to mailman.cfg
Following this advice, I reverted the change I made to
/usr/lib/python3/dist-packages/mailman/utilities/modules.py
Then I believe I implemented Mark's suggestion
root@server~# diff /etc/mailman3/mailman.cfg~ /etc/mailman3/mailman.cfg 312c312,318 < jump_chain: hold \ No newline at end of file
jump_chain: hold
## dont't start nntp because library is missing
[runner.nntp] start: no
ok, but
root@server~# systemctl status mailman3.service × mailman3.service - Mailman3 server Loaded: loaded (/usr/lib/systemd/system/mailman3.service; enabled; preset: enabled) Active: failed (Result: exit-code) since Wed 2025-02-05 23:36:35 UTC; 9min ago Duration: 2month 3w 6d 6h 21min 31.400s Invocation: 746a7d496ddd47f6a63795e55348b6f9 Docs: man:mailman(1) https://mailman.readthedocs.io/ Process: 416285 ExecStart=/usr/bin/mailman -C /etc/mailman3/mailman.cfg start --force (code=exited, status=1/FAILURE) Mem peak: 74.2M CPU: 1.712s
Feb 05 23:36:34 server mailman3[416285]: File "<frozen importlib._bootstrap>", line 935, in _load_unlocked Feb 05 23:36:34 server mailman3[416285]: File "<frozen importlib._bootstrap_external>", line 1026, in exec_module Feb 05 23:36:34 server mailman3[416285]: File "<frozen importlib._bootstrap>", line 488, in _call_with_frames_removed Feb 05 23:36:34 server mailman3[416285]: File "/usr/lib/python3/dist-packages/mailman/commands/cli_gatenews.py", line 24, in <module> Feb 05 23:36:34 server mailman3[416285]: import nntplib Feb 05 23:36:34 server mailman3[416285]: ModuleNotFoundError: No module named 'nntplib' Feb 05 23:36:35 server systemd[1]: mailman3.service: Control process exited, code=exited, status=1/FAILURE Feb 05 23:36:35 server systemd[1]: mailman3.service: Failed with result 'exit-code'. Feb 05 23:36:35 server systemd[1]: Failed to start mailman3.service - Mailman3 server. Feb 05 23:36:35 server systemd[1]: mailman3.service: Consumed 1.712s CPU time, 74.2M memory peak.
-- Written by Thomas Krichel http://openlib.org/home/krichel on his 21797th day.

On 2/5/25 15:59, Thomas Krichel wrote:
## dont't start nntp because library is missing
[runner.nntp] start: no
ok, but
root@server~# systemctl status mailman3.service × mailman3.service - Mailman3 server Loaded: loaded (/usr/lib/systemd/system/mailman3.service; enabled; preset: enabled) Active: failed (Result: exit-code) since Wed 2025-02-05 23:36:35 UTC; 9min ago Duration: 2month 3w 6d 6h 21min 31.400s Invocation: 746a7d496ddd47f6a63795e55348b6f9 Docs: man:mailman(1) https://mailman.readthedocs.io/ Process: 416285 ExecStart=/usr/bin/mailman -C /etc/mailman3/mailman.cfg start --force (code=exited, status=1/FAILURE) Mem peak: 74.2M CPU: 1.712s
Feb 05 23:36:34 server mailman3[416285]: File "<frozen importlib._bootstrap>", line 935, in _load_unlocked Feb 05 23:36:34 server mailman3[416285]: File "<frozen importlib._bootstrap_external>", line 1026, in exec_module Feb 05 23:36:34 server mailman3[416285]: File "<frozen importlib._bootstrap>", line 488, in _call_with_frames_removed Feb 05 23:36:34 server mailman3[416285]: File "/usr/lib/python3/dist-packages/mailman/commands/cli_gatenews.py", line 24, in <module> Feb 05 23:36:34 server mailman3[416285]: import nntplib Feb 05 23:36:34 server mailman3[416285]: ModuleNotFoundError: No module named 'nntplib' Feb 05 23:36:35 server systemd[1]: mailman3.service: Control process exited, code=exited, status=1/FAILURE Feb 05 23:36:35 server systemd[1]: mailman3.service: Failed with result 'exit-code'. Feb 05 23:36:35 server systemd[1]: Failed to start mailman3.service - Mailman3 server. Feb 05 23:36:35 server systemd[1]: mailman3.service: Consumed 1.712s CPU time, 74.2M memory peak.
Yes, my suggestion will prevent the nntp runner from running which in
turn will prevent it from calling mailman gatenews
in it's periodic
task and will prevent it from trying to import nntplib, but it turns out
that the mailman start
command which is used to start Mailman tries to
get all the components of all the subcommands. See
https://gitlab.com/mailman/mailman/-/blob/master/src/mailman/bin/mailman.py?....
Since there is still a mailman/commands/cli_gatenews.py file,
mailman.utilities.modules.add_components tries to import it so simply adding
[runner.nntp]
start: no
to mailman.cfg is not sufficient if there is no nntplib module. Sorry for the confusion.
-- Mark Sapiro <mark@msapiro.net> The highway is for gamblers, San Francisco Bay Area, California better use your sense - B. Dylan

Thomas Krichel writes
I have no use for that feature anyway. I have not seen a configuration option to disable it. What I have done is
# diff /usr/lib/python3/dist-packages/mailman/utilities/modules.py~ /usr/lib/python3/dist-packages/mailman/utilities/modules.py 149a150,151
if(module_name == 'mailman.commands.cli_gatenews'): continue
Thanks to all and cheers!
With this addition, the mailman daemon starts. But no mail is going through to the the lists. I have no idea as to why. Exim seems to forward it
025-02-13 06:49:50 1tiT2k-00000003bG6-2c0u SA: Debug: SAEximRunCond expand returned: 'true' 2025-02-13 06:49:50 1tiT2k-00000003bG6-2c0u SA: Debug: check succeeded, running spamc 2025-02-13 06:49:52 1tiT2k-00000003bG6-2c0u SA: Action: scanned but message isn't spam: score=-102.8 required=5.0 (scanned in 2/2 secs | Message-Id: Z62WDhA0-CmE1v1W@openlib.org). From <krichel@openlib.org> (host=helos.openlib.org [2a01:4f9:2b:276c::2]) for bibnez@folks.email 2025-02-13 06:49:52 1tiT2k-00000003bG6-2c0u <= krichel@openlib.org H=helos.openlib.org [2a01:4f9:2b:276c::2] P=esmtps X=TLS1.3:ECDHE_SECP256R1__RSA_PSS_RSAE_SHA256__AES_256_GCM:256 CV=no K S=2026 DKIM=openlib.org id=Z62WDhA0-CmE1v1W@openlib.org 2025-02-13 06:49:52 1tiT2k-00000003bG6-2c0u H=localhost [::1] Connection refused 2025-02-13 06:49:52 1tiT2k-00000003bG6-2c0u => bibnez@folks.email R=mailman3_router T=mailman3_transport H=localhost [127.0.0.1] C="250 Ok" 2025-02-13 06:49:52 1tiT2k-00000003bG6-2c0u Completed
Looks all fine
At that point /var/log/mailman3/mailman.log has
Feb 13 06:49:53 2025 (857953) ACCEPT: <Z62WDhA0-CmE1v1W@openlib.org> Feb 13 06:49:56 2025 (857956) HyperKitty failure on http://localhost/mailman3/hyperkitty/api/mai lman/urls: <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN"> <html><head> <title>404 Not Found</title> </head><body> <h1>Not Found</h1> <p>The requested URL was not found on this server.</p> <hr> <address>Apache/2.4.63 (Debian) Server at localhost Port 80</address> </body></html> (404) Feb 13 06:49:56 2025 (857956) HyperKitty failure on http://localhost/mailman3/hyperkitty/api/mai lman/urls: <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN"> <html><head> <title>404 Not Found</title> </head><body> <h1>Not Found</h1> <p>The requested URL was not found on this server.</p> <hr> <address>Apache/2.4.63 (Debian) Server at localhost Port 80</address> </body></html> (404) Feb 13 06:49:56 2025 (857955) HyperKitty failure on http://localhost/mailman3/hyperkitty/api/mai lman/urls: <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN"> <html><head> <title>404 Not Found</title> </head><body> <h1>Not Found</h1> <p>The requested URL was not found on this server.</p> <hr> <address>Apache/2.4.63 (Debian) Server at localhost Port 80</address> </body></html> (404)
I don't have hyperkitty set up, so this could be normal. Then
Feb 13 06:49:56 2025 (857955) Uncaught runner exception: 'pathlib._local.PosixPath' object does not support the context manager protocol Feb 13 06:49:56 2025 (857955) Traceback (most recent call last): File "/usr/lib/python3/dist-packages/mailman/core/runner.py", line 179, in _one_iteration self._process_one_file(msg, msgdata) ~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/mailman/core/runner.py", line 272, in _process_one_file keepqueued = self._dispose(mlist, msg, msgdata) File "/usr/lib/python3/dist-packages/mailman/runners/outgoing.py", line 111, in _dispose self._func(mlist, msg, msgdata) ~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/mailman/mta/deliver.py", line 89, in deliver refused = agent.deliver(mlist, msg, msgdata) File "/usr/lib/python3/dist-packages/mailman/mta/base.py", line 167, in deliver callback(mlist, message_copy, msgdata_copy) ~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/mailman/mta/decorating.py", line 32, in decorate decorator.process(mlist, msg, msgdata) ~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/mailman/handlers/decorate.py", line 250, in process process(mlist, msg, msgdata) ~~~~~~~^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/mailman/handlers/decorate.py", line 88, in process header = decorate('list:member:regular:header', mlist, d) File "/usr/lib/python3/dist-packages/mailman/handlers/decorate.py", line 212, in decorate template = getUtility(ITemplateLoader).get(name, mlist, **extradict) File "/usr/lib/python3/dist-packages/mailman/model/template.py", line 211, in get path, fp = find(default_uri, mlist, code) ~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/mailman/utilities/i18n.py", line 157, in find for search_path in raw_search_order: ^^^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/mailman/utilities/i18n.py", line 117, in search templates_dir = str(resources.enter_context( ~~~~~~~~~~~~~~~~~~~~~~~^ files('mailman').joinpath('templates'))) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/contextlib.py", line 528, in enter_context raise TypeError(f"'{cls.__module__}.{cls.__qualname__}' object does " f"not support the context manager protocol") from None TypeError: 'pathlib._local.PosixPath' object does not support the context manager protocol Feb 13 06:49:56 2025 (857955) SHUNTING: 1739429396.7636604+dba2fc372ce4c206e3bb753c1162bc3b768b7528 Feb 13 06:49:56 2025 (857955) SHUNTING: 1739429396.7636604+dba2fc372ce4c206e3bb753c1162bc3b768b7528
Then there are repeated messages that hyperkitty can't archive the message. Lots of them.
No email reaches the list. I did not notice, but now the listowner has written to me.
-- Written by Thomas Krichel http://openlib.org/home/krichel on his 21804th day.

Thomas Krichel writes
No email reaches the list. I did not notice, but now the listowner has written to me.
Here I try to document how I change from the mailman Debian package to the virtualenv. The change appears necessary because Debian testing's default python is 3.13 and Mailman is not ready for that.
root@server:/usr/local# rm -rf mailman/ root@server:/usr/local# mkdir mailman root@server:/usr/local# cd mailman
Not sure whether my default python3.13 can be used so I explicitly call python3.12
root@server:/usr/local/mailman# python3.12 -m venv venv source /usr/local/mailman/venv/bin/activate
I used sqlite as the database, so I don't install psycopg2-binary
(venv) root@server:/usr/local/mailman# pip install wheel mailman
Now look at systemd
root@server:/lib/systemd# find . -name *mailman* ./system/mailman3-web.service ./system/mailman3.service
After examining mailman-web I guess it does not need changing.
root@server:/lib/systemd# systemctl stop mailman3
root@server:/lib/systemd# systemctl disable mailman3 Synchronizing state of mailman3.service with SysV service script with /usr/lib/systemd/systemd-sysv-install. Executing: /usr/lib/systemd/systemd-sysv-install disable mailman3 Removed '/etc/systemd/system/multi-user.target.wants/mailman3.service'.
root@server:/lib/systemd/system# cp -a mailman3.service mailman3_debian.service
Let's reference the the virtual environment's mailman
root@server:/lib/systemd/system# diff mailman3.service mailman3_debian.service 12,14c12,14 < ExecStart=/usr/local/mailman/venv/bin/mailman -C /etc/mailman3/mailman.cfg start --force < ExecReload=/usr/local/mailman/venv/bin/mailman -C /etc/mailman3/mailman.cfg restart < ExecStop=/usr/local/mailman/venv/bin/mailman -C /etc/mailman3/mailman.cfg stop
ExecStart=/usr/bin/mailman -C /etc/mailman3/mailman.cfg start --force ExecReload=/usr/bin/mailman -C /etc/mailman3/mailman.cfg restart ExecStop=/usr/bin/mailman -C /etc/mailman3/mailman.cfg stop
root@server:/lib/systemd/system# systemctl enable mailman3.service Synchronizing state of mailman3.service with SysV service script with /usr/lib/systemd/systemd-sysv-install. Executing: /usr/lib/systemd/systemd-sysv-install enable mailman3
root@server:/lib/systemd/system# systemctl start mailman3
Seems to start. A test mail to the list yields
Feb 13 09:36:37 2025 (872373) Uncaught runner exception: No module named 'mailman_hyperkitty'
Even though I did not see this at
https://docs.mailman3.org/en/latest/install/virtualenv.html
It looks like I need to get mailman_hyperkitty.
root@server~# systemctl stop mailman3
root@server~# source /usr/local/mailman/venv/bin/activate
(venv) root@server~# pip install mailman_hyperkitty
root@server~# systemctl start mailman3
Now my test email seems to be starting to be delivered to the list.
I am particularly grateful to Stephen J. Turnbull's contribution, especially when he wrote
(I think Debian puts mailman3 configs there and that's what we recommend)
So in fact there is no need to fiddle with configs apart from the systemd file.
-- Written by Thomas Krichel http://openlib.org/home/krichel on his 21804th day.

Thomas Krichel writes
So in fact there is no need to fiddle with configs apart from the systemd file.
Actually you also need to adjust the cron entry.
Overall, if you have a debian machine, installing the mailman Debian package first and then setup the virtual environment to get a newer version of Mailman seems a practical approach to running Mailman with maximum reliance on Debian-provided components.
-- Written by Thomas Krichel http://openlib.org/home/krichel on his 21804th day.

On 2/12/25 23:12, Thomas Krichel wrote:
Feb 13 06:49:56 2025 (857955) Uncaught runner exception: 'pathlib._local.PosixPath' object does not support the context manager protocol Feb 13 06:49:56 2025 (857955) Traceback (most recent call last): File "/usr/lib/python3/dist-packages/mailman/core/runner.py", line 179, in _one_iteration self._process_one_file(msg, msgdata) ~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/mailman/core/runner.py", line 272, in _process_one_file keepqueued = self._dispose(mlist, msg, msgdata) File "/usr/lib/python3/dist-packages/mailman/runners/outgoing.py", line 111, in _dispose self._func(mlist, msg, msgdata) ~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/mailman/mta/deliver.py", line 89, in deliver refused = agent.deliver(mlist, msg, msgdata) File "/usr/lib/python3/dist-packages/mailman/mta/base.py", line 167, in deliver callback(mlist, message_copy, msgdata_copy) ~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/mailman/mta/decorating.py", line 32, in decorate decorator.process(mlist, msg, msgdata) ~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/mailman/handlers/decorate.py", line 250, in process process(mlist, msg, msgdata) ~~~~~~~^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/mailman/handlers/decorate.py", line 88, in process header = decorate('list:member:regular:header', mlist, d) File "/usr/lib/python3/dist-packages/mailman/handlers/decorate.py", line 212, in decorate template = getUtility(ITemplateLoader).get(name, mlist, **extradict) File "/usr/lib/python3/dist-packages/mailman/model/template.py", line 211, in get path, fp = find(default_uri, mlist, code) ~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/mailman/utilities/i18n.py", line 157, in find for search_path in raw_search_order: ^^^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/mailman/utilities/i18n.py", line 117, in search templates_dir = str(resources.enter_context( ~~~~~~~~~~~~~~~~~~~~~~~^ files('mailman').joinpath('templates'))) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/contextlib.py", line 528, in enter_context raise TypeError(f"'{cls.__module__}.{cls.__qualname__}' object does " f"not support the context manager protocol") from None TypeError: 'pathlib._local.PosixPath' object does not support the context manager protocol Feb 13 06:49:56 2025 (857955) SHUNTING: 1739429396.7636604+dba2fc372ce4c206e3bb753c1162bc3b768b7528 Feb 13 06:49:56 2025 (857955) SHUNTING: 1739429396.7636604+dba2fc372ce4c206e3bb753c1162bc3b768b7528
Then there are repeated messages that hyperkitty can't archive the message. Lots of them.
No email reaches the list. I did not notice, but now the listowner has written to me.
Because the messages are being shunted because of the above exception which is a Python 3.13 issue https://gitlab.com/mailman/mailman/-/issues/1190 fixed by https://gitlab.com/mailman/mailman/-/merge_requests/1309.
Once you fix that issue by either downgrading Python or installing the
changes from https://gitlab.com/mailman/mailman/-/merge_requests/1309
you can reprocess those messages with mailman unshunt
-- Mark Sapiro <mark@msapiro.net> The highway is for gamblers, San Francisco Bay Area, California better use your sense - B. Dylan

Mark Sapiro writes
Because the messages are being shunted because of the above exception which is a Python 3.13 issue https://gitlab.com/mailman/mailman/-/issues/1190 fixed by https://gitlab.com/mailman/mailman/-/merge_requests/1309.
Once you fix that issue by either downgrading Python
This is course of action I took via the virtual environment.
or installing the changes from https://gitlab.com/mailman/mailman/-/merge_requests/1309 you can reprocess those messages with
mailman unshunt
Smashing! I am trying that right now.
Thank you so much!
-- Written by Thomas Krichel http://openlib.org/home/krichel on his 21804th day.
participants (6)
-
Jeremy Stanley
-
Mark Sapiro
-
peter@chubb.wattle.id.au
-
Ron / BCLUG
-
Stephen J. Turnbull
-
Thomas Krichel