On 10/25/20 6:14 AM, Gordon Dickens wrote:
Hi Mark, and other helpful souls, This cron error continues to occur at 12AM several times each week but not each day .Here is the output from the error message that is sent to the mailman3 admin:
Traceback (most recent call last): File "/usr/lib/python3/dist-packages/flufl/lock/_lockfile.py", line 216, in lo ck os.link(self._claimfile, self._lockfile) FileExistsError: [Errno 17] File exists: '/var/lib/mailman3/locks/dbcreate.lck|s lc.mailhub4u.com|19728|1804933663424130229' -> '/var/lib/mailman3/locks/dbcreate .lck'
During handling of the above exception, another exception occurred:
Traceback (most recent call last): File "/usr/bin/mailman", line 11, in <module> load_entry_point('mailman==3.2.1', 'console_scripts', 'mailman')() File "/usr/lib/python3/dist-packages/click/core.py", line 764, in __call__ return self.main(*args, **kwargs) File "/usr/lib/python3/dist-packages/click/core.py", line 716, in main with self.make_context(prog_name, args, **extra) as ctx: File "/usr/lib/python3/dist-packages/click/core.py", line 641, in make_context self.parse_args(ctx, args) File "/usr/lib/python3/dist-packages/click/core.py", line 1089, in parse_args rest = Command.parse_args(self, ctx, args) File "/usr/lib/python3/dist-packages/click/core.py", line 940, in parse_args value, args = param.handle_parse_result(ctx, opts, args) File "/usr/lib/python3/dist-packages/click/core.py", line 1477, in handle_pars e_result self.callback, ctx, self, value) File "/usr/lib/python3/dist-packages/click/core.py", line 96, in invoke_param_ callback return callback(ctx, param, value) File "/usr/lib/python3/dist-packages/mailman/bin/mailman.py", line 94, in init ialize_config initialize(value) File "/usr/lib/python3/dist-packages/mailman/core/initialize.py", line 218, in initialize initialize_2(propagate_logs=propagate_logs) File "/usr/lib/python3/dist-packages/mailman/core/initialize.py", line 177, in initialize_2 config.db = getUtility(IDatabaseFactory, utility_name).create() File "/usr/lib/python3/dist-packages/mailman/database/factory.py", line 50, in create with Lock(os.path.join(config.LOCK_DIR, 'dbcreate.lck')): File "/usr/lib/python3/dist-packages/flufl/lock/_lockfile.py", line 334, in __ enter__ self.lock() File "/usr/lib/python3/dist-packages/flufl/lock/_lockfile.py", line 248, in lo ck elif self._read() == self._claimfile: File "/usr/lib/python3/dist-packages/flufl/lock/_lockfile.py", line 442, in _r ead with open(self._lockfile) as fp: PermissionError: [Errno 13] Permission denied: '/var/lib/mailman3/locks/dbcreate .lck'
Then, the contents of the /var/lib/mailman3/locks directory is as follows:
-rw-rw---- 1 list list 80 Oct 25 00:00 'dbcreate.lck|slc.mailhub4u.com|19728|1804933663424130229' -rw-rw---- 2 list list 78 Oct 26 2020 master.lck -rw-rw---- 2 list list 78 Oct 26 2020 'master.lck|slc.mailhub4u.com|25024|3254783301248355113'
I have since removed the file 'dbcreate.lck|slc.mailhub4u.com|19728|1804933663424130229'. . Also, I had previously changed the permissions on the /var/lib/mailman3/locks directory to give universal read/write permissions::
drwxrwxrwx 2 list list 4096 Oct 25 08:11 locks
Also, as user = list, I am able to create, edit and delete files in that directory which really doesn't make any sense because mailman3 is alsoĆ running as user = list when it creates the Permission denied error. Does anybody have an idea as to what is going on here and how to fix it?
The FileExistsError is possibly due to some kind of race condition
between two mailman
commands. Are you perhaps running both mailman digests --periodic
and mailman notify
via cron at midnight each
night? If so, try running one if them a minute later.
The permissions error is on reading the lock file itself. I don't understand what is causing that, but I doubt permissions on the locks directory are involved.
-- Mark Sapiro <mark@msapiro.net> The highway is for gamblers, San Francisco Bay Area, California better use your sense - B. Dylan