This is the first time I am seeing this with MM3 so maybe it's something new in the latest releases?
Using the virtualenv method to install MM3 in a fresh Debian 12 VM, I have run into an error while starting the mailman3 service. I cannot figure out what this error means.
<CUT> root@debian12:/home/wash# systemctl status mailman3.service × mailman3.service - GNU Mailing List Manager Loaded: loaded (/etc/systemd/system/mailman3.service; enabled; preset: enabled) Active: failed (Result: exit-code) since Thu 2023-10-26 09:36:41 EAT; 8s ago Process: 1893842 ExecStart=/opt/mailman/venv/bin/mailman start (code=exited, status=1/FAILURE) CPU: 789ms
Oct 26 09:36:41 debian12.wash.lan mailman[1893842]: dbapi = dbapi_meth(**dbapi_args) Oct 26 09:36:41 debian12.wash.lan mailman[1893842]: ^^^^^^^^^^^^^^^^^^^^^^^^ Oct 26 09:36:41 debian12.wash.lan mailman[1893842]: File "/opt/mailman/venv/lib/python3.11/site-packages/sqlalchemy/dialects/postgresql/psycopg2.py", line 690, in import_dbapi Oct 26 09:36:41 debian12.wash.lan mailman[1893842]: import psycopg2 Oct 26 09:36:41 debian12.wash.lan mailman[1893842]: File "/opt/mailman/venv/lib/python3.11/site-packages/psycopg2/__init__.py", line 51, in <module> Oct 26 09:36:41 debian12.wash.lan mailman[1893842]: from psycopg2._psycopg import ( # noqa Oct 26 09:36:41 debian12.wash.lan mailman[1893842]: SystemError: initialization of _psycopg raised unreported exception Oct 26 09:36:41 debian12.wash.lan systemd[1]: mailman3.service: Control process exited, code=exited, status=1/FAILURE Oct 26 09:36:41 debian12.wash.lan systemd[1]: mailman3.service: Failed with result 'exit-code'. Oct 26 09:36:41 debian12.wash.lan systemd[1]: Failed to start mailman3.service - GNU Mailing List Manager. </CUT>
No log entry in any of the log files in /opt/mailman/mm/var/logs/.
-- Best regards, Odhiambo WASHINGTON, Nairobi,KE +254 7 3200 0004/+254 7 2274 3223 "Oh, the cruft.", egrep -v '^$|^.*#' ¯\_(ツ)_/¯ :-) [How to ask smart questions: http://www.catb.org/~esr/faqs/smart-questions.html]
Odhiambo Washington writes:
This is the first time I am seeing this with MM3 so maybe it's something new in the latest releases?
IIRC you're one of the folks who creates a new venv and therefore gets upgrades of all prerequisite PyPI packages on upgrade. (Of course this is the recommended RightThing[tm].) If so, seems most likely that it's new in psycopg2.
psycopg2 has been released 3 times since Aug 5, most recently Oct 3, so it seems likely you've upgraded that package.
Try downgrading that package in the venv, to the version in the old venv if you have that available.
No log entry in any of the log files in /opt/mailman/mm/var/logs/.
Wouldn't expect them, since imports are early and the most likely relevant loggers (any that are in pyscopg2 itself) wouldn't be set up yet.
On Thu, Oct 26, 2023 at 4:27 PM Stephen J. Turnbull < turnbull.stephen.fw@u.tsukuba.ac.jp> wrote:
Odhiambo Washington writes:
This is the first time I am seeing this with MM3 so maybe it's something new in the latest releases?
IIRC you're one of the folks who creates a new venv and therefore gets upgrades of all prerequisite PyPI packages on upgrade. (Of course this is the recommended RightThing[tm].) If so, seems most likely that it's new in psycopg2.
I am not upgrading :-) This a completely new VM that has never seen MM3 before. A new Linux install of Debian12. I usually prefer testing first before implementing.
psycopg2 has been released 3 times since Aug 5, most recently Oct 3,
so it seems likely you've upgraded that package.
On this test machine, I have psycopg2-binary==2.8.6. The instructions on the documentation <https://docs.mailman3.org/en/latest/install/virtualenv.html#installing-mailman-core> say:
pip install wheel mailman psycopg2-binary\<2.9
Try downgrading that package in the venv, to the version in the old
venv if you have that available.
There is no other venv on this host. It is not an upgrade, but a new install.
No log entry in any of the log files in /opt/mailman/mm/var/logs/.
Wouldn't expect them, since imports are early and the most likely relevant loggers (any that are in pyscopg2 itself) wouldn't be set up yet.
That makes sense.
-- Best regards, Odhiambo WASHINGTON, Nairobi,KE +254 7 3200 0004/+254 7 2274 3223 "Oh, the cruft.", egrep -v '^$|^.*#' ¯\_(ツ)_/¯ :-) [How to ask smart questions: http://www.catb.org/~esr/faqs/smart-questions.html]
On Mon, Oct 30, 2023 at 12:17 PM Stephen J. Turnbull < turnbull.stephen.fw@u.tsukuba.ac.jp> wrote:
Odhiambo Washington writes:
I am not upgrading :-)
OK, you're installing a newer version than you ever had before. Bye
Allow me to clarify.
- I have whipped up a completely new Debian 12 VM
- I am following https://docs.mailman3.org/en/latest/install/virtualenv.html to install MM3. So this is NOT a production machine. My production machines are fine. What I am doing is just to simulate a new install and see if it's seamless. Whatever I am encountering I believe everyone else would also encounter, because I am not deviating from the steps laid out on the official documentation.
-- Best regards, Odhiambo WASHINGTON, Nairobi,KE +254 7 3200 0004/+254 7 2274 3223 "Oh, the cruft.", egrep -v '^$|^.*#' ¯\_(ツ)_/¯ :-) [How to ask smart questions: http://www.catb.org/~esr/faqs/smart-questions.html]
On 10/26/23 01:03, Odhiambo Washington wrote:
<CUT> root@debian12:/home/wash# systemctl status mailman3.service × mailman3.service - GNU Mailing List Manager Loaded: loaded (/etc/systemd/system/mailman3.service; enabled; preset: enabled) Active: failed (Result: exit-code) since Thu 2023-10-26 09:36:41 EAT; 8s ago Process: 1893842 ExecStart=/opt/mailman/venv/bin/mailman start (code=exited, status=1/FAILURE) CPU: 789ms
Oct 26 09:36:41 debian12.wash.lan mailman[1893842]: dbapi = dbapi_meth(**dbapi_args) Oct 26 09:36:41 debian12.wash.lan mailman[1893842]: ^^^^^^^^^^^^^^^^^^^^^^^^ Oct 26 09:36:41 debian12.wash.lan mailman[1893842]: File "/opt/mailman/venv/lib/python3.11/site-packages/sqlalchemy/dialects/postgresql/psycopg2.py", line 690, in import_dbapi Oct 26 09:36:41 debian12.wash.lan mailman[1893842]: import psycopg2 Oct 26 09:36:41 debian12.wash.lan mailman[1893842]: File "/opt/mailman/venv/lib/python3.11/site-packages/psycopg2/__init__.py", line 51, in <module> Oct 26 09:36:41 debian12.wash.lan mailman[1893842]: from psycopg2._psycopg import ( # noqa Oct 26 09:36:41 debian12.wash.lan mailman[1893842]: SystemError: initialization of _psycopg raised unreported exception Oct 26 09:36:41 debian12.wash.lan systemd[1]: mailman3.service: Control process exited, code=exited, status=1/FAILURE Oct 26 09:36:41 debian12.wash.lan systemd[1]: mailman3.service: Failed with result 'exit-code'. Oct 26 09:36:41 debian12.wash.lan systemd[1]: Failed to start mailman3.service - GNU Mailing List Manager. </CUT>
Is your database PostgreSQL or some other? If it's not PostgreSQL, see the thread at https://lists.mailman3.org/archives/list/mailman-users@mailman3.org/thread/H...
Also see https://docs.mailman3.org/en/latest/install/virtualenv.html#installing-mailm... where it now says in part "This will install latest release of Mailman Core, and Python bindings for Postgresql database. If you are using a different database manager, do not install psycopg2-binary."
-- Mark Sapiro <mark@msapiro.net> The highway is for gamblers, San Francisco Bay Area, California better use your sense - B. Dylan
On Fri, Oct 27, 2023 at 4:38 AM Mark Sapiro <mark@msapiro.net> wrote:
On 10/26/23 01:03, Odhiambo Washington wrote:
<CUT> root@debian12:/home/wash# systemctl status mailman3.service × mailman3.service - GNU Mailing List Manager Loaded: loaded (/etc/systemd/system/mailman3.service; enabled;
preset:
enabled) Active: failed (Result: exit-code) since Thu 2023-10-26 09:36:41 EAT; 8s ago Process: 1893842 ExecStart=/opt/mailman/venv/bin/mailman start (code=exited, status=1/FAILURE) CPU: 789ms
Oct 26 09:36:41 debian12.wash.lan mailman[1893842]: dbapi = dbapi_meth(**dbapi_args) Oct 26 09:36:41 debian12.wash.lan mailman[1893842]: ^^^^^^^^^^^^^^^^^^^^^^^^ Oct 26 09:36:41 debian12.wash.lan mailman[1893842]: File
line 690, in import_dbapi Oct 26 09:36:41 debian12.wash.lan mailman[1893842]: import psycopg2 Oct 26 09:36:41 debian12.wash.lan mailman[1893842]: File "/opt/mailman/venv/lib/python3.11/site-packages/psycopg2/__init__.py",
"/opt/mailman/venv/lib/python3.11/site-packages/sqlalchemy/dialects/postgresql/psycopg2.py", line
51, in <module> Oct 26 09:36:41 debian12.wash.lan mailman[1893842]: from psycopg2._psycopg import ( # noqa Oct 26 09:36:41 debian12.wash.lan mailman[1893842]: SystemError: initialization of _psycopg raised unreported exception Oct 26 09:36:41 debian12.wash.lan systemd[1]: mailman3.service: Control process exited, code=exited, status=1/FAILURE Oct 26 09:36:41 debian12.wash.lan systemd[1]: mailman3.service: Failed with result 'exit-code'. Oct 26 09:36:41 debian12.wash.lan systemd[1]: Failed to start mailman3.service - GNU Mailing List Manager. </CUT>
Is your database PostgreSQL or some other? If it's not PostgreSQL, see the thread at
https://lists.mailman3.org/archives/list/mailman-users@mailman3.org/thread/H...
- particularly
https://lists.mailman3.org/archives/list/mailman-users@mailman3.org/message/...
Also see
https://docs.mailman3.org/en/latest/install/virtualenv.html#installing-mailm... where it now says in part "This will install latest release of Mailman Core, and Python bindings for Postgresql database. If you are using a different database manager, do not install psycopg2-binary."
So my database is PostgreSQL-15:
postgres@debian12:~$ psql
psql (15.3 (Debian 15.3-0+deb12u1))
Type "help" for help.
postgres=#
Below is the output of mailman info
which for some reason I forgot to
attach in the initial post. Maybe it contains something useful?
(venv) mailman@debian12:~$ mailman info
Traceback (most recent call last):
File "/opt/mailman/venv/bin/mailman", line 33, in <module>
sys.exit(load_entry_point('mailman==3.3.9', 'console_scripts',
'mailman')())
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/opt/mailman/venv/lib/python3.11/site-packages/click/core.py", line
1157, in __call__
return self.main(*args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/opt/mailman/venv/lib/python3.11/site-packages/click/core.py", line
1077, in main
with self.make_context(prog_name, args, **extra) as ctx:
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/opt/mailman/venv/lib/python3.11/site-packages/click/core.py", line
943, in make_context
self.parse_args(ctx, args)
File "/opt/mailman/venv/lib/python3.11/site-packages/click/core.py", line
1644, in parse_args
rest = super().parse_args(ctx, args)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/opt/mailman/venv/lib/python3.11/site-packages/click/core.py", line
1408, in parse_args
value, args = param.handle_parse_result(ctx, opts, args)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/opt/mailman/venv/lib/python3.11/site-packages/click/core.py", line
2400, in handle_parse_result
value = self.process_value(ctx, value)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/opt/mailman/venv/lib/python3.11/site-packages/click/core.py", line
2362, in process_value
value = self.callback(ctx, self, value)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File
"/opt/mailman/venv/lib/python3.11/site-packages/mailman/bin/mailman.py",
line 95, in initialize_config
initialize(value)
File
"/opt/mailman/venv/lib/python3.11/site-packages/mailman/core/initialize.py",
line 229, in initialize
initialize_2(propagate_logs=propagate_logs)
File
"/opt/mailman/venv/lib/python3.11/site-packages/mailman/core/initialize.py",
line 187, in initialize_2
config.db = getUtility(IDatabaseFactory, utility_name).create()
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File
"/opt/mailman/venv/lib/python3.11/site-packages/mailman/database/factory.py",
line 57, in create
database.initialize()
File
"/opt/mailman/venv/lib/python3.11/site-packages/mailman/database/base.py",
line 117, in initialize
self.engine = create_engine(
^^^^^^^^^^^^^^
File "<string>", line 2, in create_engine
File
"/opt/mailman/venv/lib/python3.11/site-packages/sqlalchemy/util/deprecations.py",
line 281, in warned
return fn(*args, **kwargs) # type: ignore[no-any-return]
^^^^^^^^^^^^^^^^^^^
File
"/opt/mailman/venv/lib/python3.11/site-packages/sqlalchemy/engine/create.py",
line 601, in create_engine
dbapi = dbapi_meth(**dbapi_args)
^^^^^^^^^^^^^^^^^^^^^^^^
File
"/opt/mailman/venv/lib/python3.11/site-packages/sqlalchemy/dialects/postgresql/psycopg2.py",
line 690, in import_dbapi
import psycopg2
File
"/opt/mailman/venv/lib/python3.11/site-packages/psycopg2/__init__.py", line
51, in <module>
from psycopg2._psycopg import ( # noqa
SystemError: initialization of _psycopg raised unreported exception
-- Best regards, Odhiambo WASHINGTON, Nairobi,KE +254 7 3200 0004/+254 7 2274 3223 "Oh, the cruft.", egrep -v '^$|^.*#' ¯\_(ツ)_/¯ :-) [How to ask smart questions: http://www.catb.org/~esr/faqs/smart-questions.html]
On 10/27/23 01:09, Odhiambo Washington wrote:
So my database is PostgreSQL-15:
Try the following in your venv.
pip uninstall psycopg2-binary
pip cache remove psycopg2-binary
pip install psycopg2-binary
-- Mark Sapiro <mark@msapiro.net> The highway is for gamblers, San Francisco Bay Area, California better use your sense - B. Dylan
On Fri, Oct 27, 2023 at 6:23 PM Mark Sapiro <mark@msapiro.net> wrote:
On 10/27/23 01:09, Odhiambo Washington wrote:
So my database is PostgreSQL-15:
Try the following in your venv.
pip uninstall psycopg2-binary pip cache remove psycopg2-binary pip install psycopg2-binary
root@debian12:/home/wash# su - mailman
(venv) mailman@debian12:~$ pip uninstall psycopg2-binary
Found existing installation: psycopg2-binary 2.8.6
Uninstalling psycopg2-binary-2.8.6:
Would remove:
/opt/mailman/venv/lib/python3.11/site-packages/psycopg2/*
/opt/mailman/venv/lib/python3.11/site-packages/psycopg2_binary-2.8.6.dist-info/*
Proceed (Y/n)? y
Successfully uninstalled psycopg2-binary-2.8.6
(venv) mailman@debian12:~$ pip cache remove psycopg2-binary
WARNING: No matching packages for pattern "psycopg2-binary"
Files removed: 0
(venv) mailman@debian12:~$ pip install psycopg2-binary
Collecting psycopg2-binary
Using cached
psycopg2_binary-2.9.9-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
(3.0 MB)
Installing collected packages: psycopg2-binary
Successfully installed psycopg2-binary-2.9.9
(venv) mailman@debian12:~$ mailman info
Traceback (most recent call last):
File
"/opt/mailman/venv/lib/python3.11/site-packages/sqlalchemy/engine/base.py",
line 1969, in _exec_single_context
self.dialect.do_execute(
File
"/opt/mailman/venv/lib/python3.11/site-packages/sqlalchemy/engine/default.py",
line 922, in do_execute
cursor.execute(statement, parameters)
psycopg2.errors.InsufficientPrivilege: permission denied for schema public
LINE 2: CREATE TABLE ban (
^
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "/opt/mailman/venv/bin/mailman", line 33, in <module>
sys.exit(load_entry_point('mailman==3.3.9', 'console_scripts',
'mailman')())
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/opt/mailman/venv/lib/python3.11/site-packages/click/core.py", line
1157, in __call__
return self.main(*args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/opt/mailman/venv/lib/python3.11/site-packages/click/core.py", line
1077, in main
with self.make_context(prog_name, args, **extra) as ctx:
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/opt/mailman/venv/lib/python3.11/site-packages/click/core.py", line
943, in make_context
self.parse_args(ctx, args)
File "/opt/mailman/venv/lib/python3.11/site-packages/click/core.py", line
1644, in parse_args
rest = super().parse_args(ctx, args)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/opt/mailman/venv/lib/python3.11/site-packages/click/core.py", line
1408, in parse_args
value, args = param.handle_parse_result(ctx, opts, args)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/opt/mailman/venv/lib/python3.11/site-packages/click/core.py", line
2400, in handle_parse_result
value = self.process_value(ctx, value)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/opt/mailman/venv/lib/python3.11/site-packages/click/core.py", line
2362, in process_value
value = self.callback(ctx, self, value)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File
"/opt/mailman/venv/lib/python3.11/site-packages/mailman/bin/mailman.py",
line 95, in initialize_config
initialize(value)
File
"/opt/mailman/venv/lib/python3.11/site-packages/mailman/core/initialize.py",
line 229, in initialize
initialize_2(propagate_logs=propagate_logs)
File
"/opt/mailman/venv/lib/python3.11/site-packages/mailman/core/initialize.py",
line 187, in initialize_2
config.db = getUtility(IDatabaseFactory, utility_name).create()
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File
"/opt/mailman/venv/lib/python3.11/site-packages/mailman/database/factory.py",
line 58, in create
SchemaManager(database).setup_database()
File
"/opt/mailman/venv/lib/python3.11/site-packages/mailman/database/factory.py",
line 97, in setup_database
Model.metadata.create_all(self._database.engine)
File
"/opt/mailman/venv/lib/python3.11/site-packages/sqlalchemy/sql/schema.py",
line 5828, in create_all
bind._run_ddl_visitor(
File
"/opt/mailman/venv/lib/python3.11/site-packages/sqlalchemy/engine/base.py",
line 3243, in _run_ddl_visitor
conn._run_ddl_visitor(visitorcallable, element, **kwargs)
File
"/opt/mailman/venv/lib/python3.11/site-packages/sqlalchemy/engine/base.py",
line 2447, in _run_ddl_visitor
visitorcallable(self.dialect, self, **kwargs).traverse_single(element)
File
"/opt/mailman/venv/lib/python3.11/site-packages/sqlalchemy/sql/visitors.py",
line 671, in traverse_single
return meth(obj, **kw)
^^^^^^^^^^^^^^^
File
"/opt/mailman/venv/lib/python3.11/site-packages/sqlalchemy/sql/ddl.py",
line 919, in visit_metadata
self.traverse_single(
File
"/opt/mailman/venv/lib/python3.11/site-packages/sqlalchemy/sql/visitors.py",
line 671, in traverse_single
return meth(obj, **kw)
^^^^^^^^^^^^^^^
File
"/opt/mailman/venv/lib/python3.11/site-packages/sqlalchemy/sql/ddl.py",
line 957, in visit_table
)._invoke_with(self.connection)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File
"/opt/mailman/venv/lib/python3.11/site-packages/sqlalchemy/sql/ddl.py",
line 315, in _invoke_with
return bind.execute(self)
^^^^^^^^^^^^^^^^^^
File
"/opt/mailman/venv/lib/python3.11/site-packages/sqlalchemy/engine/base.py",
line 1416, in execute
return meth(
^^^^^
File
"/opt/mailman/venv/lib/python3.11/site-packages/sqlalchemy/sql/ddl.py",
line 181, in _execute_on_connection
return connection._execute_ddl(
^^^^^^^^^^^^^^^^^^^^^^^^
File
"/opt/mailman/venv/lib/python3.11/site-packages/sqlalchemy/engine/base.py",
line 1528, in _execute_ddl
ret = self._execute_context(
^^^^^^^^^^^^^^^^^^^^^^
File
"/opt/mailman/venv/lib/python3.11/site-packages/sqlalchemy/engine/base.py",
line 1848, in _execute_context
return self._exec_single_context(
^^^^^^^^^^^^^^^^^^^^^^^^^^
File
"/opt/mailman/venv/lib/python3.11/site-packages/sqlalchemy/engine/base.py",
line 1988, in _exec_single_context
self._handle_dbapi_exception(
File
"/opt/mailman/venv/lib/python3.11/site-packages/sqlalchemy/engine/base.py",
line 2343, in _handle_dbapi_exception
raise sqlalchemy_exception.with_traceback(exc_info[2]) from e
File
"/opt/mailman/venv/lib/python3.11/site-packages/sqlalchemy/engine/base.py",
line 1969, in _exec_single_context
self.dialect.do_execute(
File
"/opt/mailman/venv/lib/python3.11/site-packages/sqlalchemy/engine/default.py",
line 922, in do_execute
cursor.execute(statement, parameters)
sqlalchemy.exc.ProgrammingError: (psycopg2.errors.InsufficientPrivilege)
permission denied for schema public
LINE 2: CREATE TABLE ban (
^
[SQL:
CREATE TABLE ban (
id SERIAL NOT NULL,
email VARCHAR,
list_id VARCHAR,
PRIMARY KEY (id)
)
]
(Background on this error at: https://sqlalche.me/e/20/f405)
I then followed the directions for GRANTing access the public schema:
postgres=# \c mailman postgres
You are now connected to database "mailman" as user "postgres".
mailman=# GRANT ALL ON SCHEMA public TO mailman;
GRANT
mailman=# \c mailmanweb postgres
You are now connected to database "mailmanweb" as user "postgres".
mailmanweb=# GRANT ALL ON SCHEMA public TO mailman;
GRANT
mailmanweb=#
...and tested IF mailman user could create a table in the mailman db:
(venv) mailman@debian12:~$ psql -h localhost -U mailman -d mailman -W
Password:
psql (15.3 (Debian 15.3-0+deb12u1))
SSL connection (protocol: TLSv1.3, cipher: TLS_AES_256_GCM_SHA384,
compression: off)
Type "help" for help.
mailman=> create table xyz(a varchar(100));
CREATE TABLE
mailman=> DROP TABLE xyz;
DROP TABLE
mailman=> \q
But then again mailman info
groks!
(venv) mailman@debian12:~$ mailman info
Traceback (most recent call last):
File "/opt/mailman/venv/bin/mailman", line 33, in <module>
sys.exit(load_entry_point('mailman==3.3.9', 'console_scripts',
'mailman')())
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/opt/mailman/venv/lib/python3.11/site-packages/click/core.py", line
1157, in __call__
return self.main(*args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/opt/mailman/venv/lib/python3.11/site-packages/click/core.py", line
1077, in main
with self.make_context(prog_name, args, **extra) as ctx:
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/opt/mailman/venv/lib/python3.11/site-packages/click/core.py", line
943, in make_context
self.parse_args(ctx, args)
File "/opt/mailman/venv/lib/python3.11/site-packages/click/core.py", line
1644, in parse_args
rest = super().parse_args(ctx, args)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/opt/mailman/venv/lib/python3.11/site-packages/click/core.py", line
1408, in parse_args
value, args = param.handle_parse_result(ctx, opts, args)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/opt/mailman/venv/lib/python3.11/site-packages/click/core.py", line
2400, in handle_parse_result
value = self.process_value(ctx, value)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/opt/mailman/venv/lib/python3.11/site-packages/click/core.py", line
2362, in process_value
value = self.callback(ctx, self, value)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File
"/opt/mailman/venv/lib/python3.11/site-packages/mailman/bin/mailman.py",
line 95, in initialize_config
initialize(value)
File
"/opt/mailman/venv/lib/python3.11/site-packages/mailman/core/initialize.py",
line 229, in initialize
initialize_2(propagate_logs=propagate_logs)
File
"/opt/mailman/venv/lib/python3.11/site-packages/mailman/core/initialize.py",
line 198, in initialize_2
initialize_pipelines()
File
"/opt/mailman/venv/lib/python3.11/site-packages/mailman/core/pipelines.py",
line 73, in initialize
add_components('handlers', IHandler, config.handlers)
File
"/opt/mailman/venv/lib/python3.11/site-packages/mailman/utilities/modules.py",
line 218, in add_components
for component_class in find_pluggable_components(subpackage, interface):
File
"/opt/mailman/venv/lib/python3.11/site-packages/mailman/utilities/modules.py",
line 177, in find_pluggable_components
yield from find_components('mailman.' + subpackage, interface)
File
"/opt/mailman/venv/lib/python3.11/site-packages/mailman/utilities/modules.py",
line 150, in find_components
module = import_module(module_name)
^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3.11/importlib/__init__.py", line 126, in
import_module
return _bootstrap._gcd_import(name[level:], package, level)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "<frozen importlib._bootstrap>", line 1206, in _gcd_import
File "<frozen importlib._bootstrap>", line 1178, in _find_and_load
File "<frozen importlib._bootstrap>", line 1149, in
_find_and_load_unlocked
File "<frozen importlib._bootstrap>", line 690, in _load_unlocked
File "<frozen importlib._bootstrap_external>", line 940, in exec_module
File "<frozen importlib._bootstrap>", line 241, in
_call_with_frames_removed
File
"/opt/mailman/venv/lib/python3.11/site-packages/mailman/handlers/arc_sign.py",
line 22, in <module>
from authheaders import sign_message
File
"/opt/mailman/venv/lib/python3.11/site-packages/authheaders/__init__.py",
line 25, in <module>
from authheaders.dmarc_lookup import dns_query, receiver_record,
receiver_record_walk, get_org_domain
File
"/opt/mailman/venv/lib/python3.11/site-packages/authheaders/dmarc_lookup.py",
line 22, in <module>
from pkg_resources import resource_filename # Part of setuptools
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File
"/opt/mailman/venv/lib/python3.11/site-packages/pkg_resources/__init__.py",
line 3248, in <module>
@_call_aside
^^^^^^^^^^^
File
"/opt/mailman/venv/lib/python3.11/site-packages/pkg_resources/__init__.py",
line 3223, in _call_aside
f(*args, **kwargs)
File
"/opt/mailman/venv/lib/python3.11/site-packages/pkg_resources/__init__.py",
line 3261, in _initialize_master_working_set
working_set = WorkingSet._build_master()
^^^^^^^^^^^^^^^^^^^^^^^^^^
File
"/opt/mailman/venv/lib/python3.11/site-packages/pkg_resources/__init__.py",
line 617, in _build_master
ws.require(__requires__)
File
"/opt/mailman/venv/lib/python3.11/site-packages/pkg_resources/__init__.py",
line 956, in require
needed = self.resolve(parse_requirements(requirements))
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File
"/opt/mailman/venv/lib/python3.11/site-packages/pkg_resources/__init__.py",
line 815, in resolve
dist = self._resolve_dist(
^^^^^^^^^^^^^^^^^^^
File
"/opt/mailman/venv/lib/python3.11/site-packages/pkg_resources/__init__.py",
line 856, in _resolve_dist
raise DistributionNotFound(req, requirers)
pkg_resources.DistributionNotFound: The 'flufl.lock>=5.1' distribution was
not found and is required by mailman
Looking at what I have:
(venv) mailman@debian12:~$ pip freeze | grep flufl.lock flufl.lock==8.0.2 (venv) mailman@debian12:~$
Now I am lost as to what the issue could be.
-- Best regards, Odhiambo WASHINGTON, Nairobi,KE +254 7 3200 0004/+254 7 2274 3223 "Oh, the cruft.", egrep -v '^$|^.*#' ¯\_(ツ)_/¯ :-) [How to ask smart questions: http://www.catb.org/~esr/faqs/smart-questions.html]
On 10/27/23 09:16, Odhiambo Washington wrote:
(venv) mailman@debian12:~$ pip cache remove psycopg2-binary WARNING: No matching packages for pattern "psycopg2-binary" Files removed: 0
This was intended to prevent the following 'Using cached'.
(venv) mailman@debian12:~$ pip install psycopg2-binary Collecting psycopg2-binary Using cached psycopg2_binary-2.9.9-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (3.0 MB)
However, you now have a different issue.
raise DistributionNotFound(req, requirers)
pkg_resources.DistributionNotFound: The 'flufl.lock>=5.1' distribution was not found and is required by mailman
See https://gitlab.com/mailman/mailman/-/issues/1085
-- Mark Sapiro <mark@msapiro.net> The highway is for gamblers, San Francisco Bay Area, California better use your sense - B. Dylan
On Fri, Oct 27, 2023 at 8:21 PM Mark Sapiro <mark@msapiro.net> wrote:
On 10/27/23 09:16, Odhiambo Washington wrote:
(venv) mailman@debian12:~$ pip cache remove psycopg2-binary WARNING: No matching packages for pattern "psycopg2-binary" Files removed: 0
This was intended to prevent the following 'Using cached'.
(venv) mailman@debian12:~$ pip install psycopg2-binary Collecting psycopg2-binary Using cached
psycopg2_binary-2.9.9-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
(3.0 MB)
However, you now have a different issue.
raise DistributionNotFound(req, requirers)
pkg_resources.DistributionNotFound: The 'flufl.lock>=5.1' distribution
was
not found and is required by mailman
Thank you. That solves the problem for sure! But this was detected 4 months ago. When is the permanent solution coming?
(venv) mailman@debian12:~$ vi venv/lib/python3.11/site-packages/mailman-3.3.9.egg-info/requires.txt # flufl.xxx to flufl-xxx (venv) mailman@debian12:~$ mailman info GNU Mailman 3.3.9 (Tom Sawyer) Python 3.11.2 (main, Mar 13 2023, 12:18:29) [GCC 12.2.0] config file: /etc/mailman3/mailman.cfg db url: postgresql://mailman:XXXXXXX@localhost/mailman devmode: DISABLED REST root url: http://localhost:8001/3.1/ REST credentials: restadmin:restpass (venv) mailman@debian12:~$ exit logout root@debian12:/home/wash# systemctl start mailman3 root@debian12:/home/wash# systemctl status mailman3 ● mailman3.service - GNU Mailing List Manager Loaded: loaded (/etc/systemd/system/mailman3.service; enabled; preset: enabled) Active: active (running) since Sat 2023-10-28 01:22:56 EAT; 7s ago Process: 15590 ExecStart=/opt/mailman/venv/bin/mailman start (code=exited, status=0/SUCCESS) Main PID: 15592 (python3) Tasks: 17 (limit: 4547) Memory: 980.8M CPU: 27.774s CGroup: /system.slice/mailman3.service ├─15592 /opt/mailman/venv/bin/python3 /opt/mailman/venv/bin/master -C /etc/mailman3/mailman.cfg ├─15598 /opt/mailman/venv/bin/python3 /opt/mailman/venv/bin/runner -C /etc/mailman3/mailman.cfg --runner=archive:0:1 ├─15599 /opt/mailman/venv/bin/python3 /opt/mailman/venv/bin/runner -C /etc/mailman3/mailman.cfg --runner=bounces:0:1 ├─15600 /opt/mailman/venv/bin/python3 /opt/mailman/venv/bin/runner -C /etc/mailman3/mailman.cfg --runner=command:0:1 ├─15601 /opt/mailman/venv/bin/python3 /opt/mailman/venv/bin/runner -C /etc/mailman3/mailman.cfg --runner=in:0:1 ├─15602 /opt/mailman/venv/bin/python3 /opt/mailman/venv/bin/runner -C /etc/mailman3/mailman.cfg --runner=lmtp:0:1 ├─15603 /opt/mailman/venv/bin/python3 /opt/mailman/venv/bin/runner -C /etc/mailman3/mailman.cfg --runner=nntp:0:1 ├─15604 /opt/mailman/venv/bin/python3 /opt/mailman/venv/bin/runner -C /etc/mailman3/mailman.cfg --runner=out:0:1 ├─15605 /opt/mailman/venv/bin/python3 /opt/mailman/venv/bin/runner -C /etc/mailman3/mailman.cfg --runner=pipeline:0:1 ├─15606 /opt/mailman/venv/bin/python3 /opt/mailman/venv/bin/runner -C /etc/mailman3/mailman.cfg --runner=rest:0:1 ├─15607 /opt/mailman/venv/bin/python3 /opt/mailman/venv/bin/runner -C /etc/mailman3/mailman.cfg --runner=retry:0:1 ├─15608 /opt/mailman/venv/bin/python3 /opt/mailman/venv/bin/runner -C /etc/mailman3/mailman.cfg --runner=task:0:1 ├─15609 /opt/mailman/venv/bin/python3 /opt/mailman/venv/bin/runner -C /etc/mailman3/mailman.cfg --runner=virgin:0:1 ├─15610 /opt/mailman/venv/bin/python3 /opt/mailman/venv/bin/runner -C /etc/mailman3/mailman.cfg --runner=digest:0:1 ├─15648 /opt/mailman/venv/bin/python3 /opt/mailman/venv/bin/runner -C /etc/mailman3/mailman.cfg --runner=rest:0:1 └─15649 /opt/mailman/venv/bin/python3 /opt/mailman/venv/bin/runner -C /etc/mailman3/mailman.cfg --runner=rest:0:1
Oct 28 01:22:54 debian12.wash.lan systemd[1]: Starting mailman3.service - GNU Mailing List Manager... Oct 28 01:22:55 debian12.wash.lan mailman[15590]: Starting Mailman's master runner Oct 28 01:22:55 debian12.wash.lan mailman[15590]: Generating MTA alias maps Oct 28 01:22:56 debian12.wash.lan systemd[1]: mailman3.service: Can't open PID file /opt/mailman/mm/var/master.pid (yet?) after start: No such file or directory Oct 28 01:22:56 debian12.wash.lan systemd[1]: Started mailman3.service - GNU Mailing List Manager. root@debian12:/home/wash#
-- Best regards, Odhiambo WASHINGTON, Nairobi,KE +254 7 3200 0004/+254 7 2274 3223 "Oh, the cruft.", egrep -v '^$|^.*#' ¯\_(ツ)_/¯ :-) [How to ask smart questions: http://www.catb.org/~esr/faqs/smart-questions.html]
On 10/27/23 15:28, Odhiambo Washington wrote:
Thank you. That solves the problem for sure! But this was detected 4 months ago. When is the permanent solution coming?
It's a PyPI packaging issue https://github.com/pypi/warehouse/issues/10030
It is supposedly fixed. I don't see the issue in my installs. Maybe try reinstalling the flufl.* packages, although IIRC this is a new venv, so that probably won't help.
-- Mark Sapiro <mark@msapiro.net> The highway is for gamblers, San Francisco Bay Area, California better use your sense - B. Dylan
participants (3)
-
Mark Sapiro
-
Odhiambo Washington
-
Stephen J. Turnbull