Search results for query "sapiro"
- 6045 messages
[MM3-users] Re: Changing web access
by Ralf Wiegand
GNU Mailman 3.3.1 (Tom Sawyer)
Python 3.6.8 (default, Sep 26 2019, 11:57:09)
[GCC 4.8.5 20150623 (Red Hat 4.8.5-39)]
config file: /opt/mailman/mailman/var/etc/mailman.cfg
db url: sqlite:////opt/mailman/mailman/var/data/mailman.db
devmode: DISABLED
REST root url: https://empire:8001/3.1/
REST credentials: r****n:r*****s
My REST API is running on "empire" (192.168.0.27), but isn't this
messages referencing
>>> snip
python manage.py runserver 0.0.0.0:8000
Performing system checks...
System check identified no issues (0 silenced).
April 22, 2020 - 19:05:09
Django version 2.2.12, using settings 'settings'
Starting development server at http://0.0.0.0:8000/
Quit the server with CONTROL-C.
ERROR Mailman REST API not available
Traceback (most recent call last):
File
"/opt/mailman/venv-3.6/lib64/python3.6/site-packages/urllib3-1.25.8-py3.6.egg/urllib3/connection.py",
line 157, in _new_conn
(self._dns_host, self.port), self.timeout, **extra_kw
File
"/opt/mailman/venv-3.6/lib64/python3.6/site-packages/urllib3-1.25.8-py3.6.egg/urllib3/util/connection.py",
line 84, in create_connection
raise err
File
"/opt/mailman/venv-3.6/lib64/python3.6/site-packages/urllib3-1.25.8-py3.6.egg/urllib3/util/connection.py",
line 74, in create_connection
sock.connect(sa)
ConnectionRefusedError: [Errno 111] Connection refused
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File
"/opt/mailman/venv-3.6/lib64/python3.6/site-packages/urllib3-1.25.8-py3.6.egg/urllib3/connectionpool.py",
line 672, in urlopen
chunked=chunked,
File
"/opt/mailman/venv-3.6/lib64/python3.6/site-packages/urllib3-1.25.8-py3.6.egg/urllib3/connectionpool.py",
line 387, in _make_request
conn.request(method, url, **httplib_request_kw)
File "/usr/lib64/python3.6/http/client.py", line 1254, in request
self._send_request(method, url, body, headers, encode_chunked)
File "/usr/lib64/python3.6/http/client.py", line 1300, in _send_request
self.endheaders(body, encode_chunked=encode_chunked)
File "/usr/lib64/python3.6/http/client.py", line 1249, in endheaders
self._send_output(message_body, encode_chunked=encode_chunked)
File "/usr/lib64/python3.6/http/client.py", line 1036, in _send_output
self.send(msg)
File "/usr/lib64/python3.6/http/client.py", line 974, in send
self.connect()
File
"/opt/mailman/venv-3.6/lib64/python3.6/site-packages/urllib3-1.25.8-py3.6.egg/urllib3/connection.py",
line 184, in connect
conn = self._new_conn()
File
"/opt/mailman/venv-3.6/lib64/python3.6/site-packages/urllib3-1.25.8-py3.6.egg/urllib3/connection.py",
line 169, in _new_conn
self, "Failed to establish a new connection: %s" % e
urllib3.exceptions.NewConnectionError:
<urllib3.connection.HTTPConnection object at 0x7f8dd8cdee80>: Failed to
establish a new connection: [Errno 111] Connection refused
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File
"/opt/mailman/venv-3.6/lib64/python3.6/site-packages/requests-2.23.0-py3.6.egg/requests/adapters.py",
line 449, in send
timeout=timeout
File
"/opt/mailman/venv-3.6/lib64/python3.6/site-packages/urllib3-1.25.8-py3.6.egg/urllib3/connectionpool.py",
line 720, in urlopen
method, url, error=e, _pool=self, _stacktrace=sys.exc_info()[2]
File
"/opt/mailman/venv-3.6/lib64/python3.6/site-packages/urllib3-1.25.8-py3.6.egg/urllib3/util/retry.py",
line 436, in increment
raise MaxRetryError(_pool, url, error or ResponseError(cause))
urllib3.exceptions.MaxRetryError: HTTPConnectionPool(host='localhost',
port=8001): Max retries exceeded with url:
/3.0/lists?advertised=true&count=0&page=1 (Caused by
NewConnectionError('<urllib3.connection.HTTPConnection object at
0x7f8dd8cdee80>: Failed to establish a new connection: [Errno 111]
Connection refused',))
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File
"/opt/mailman/mailmanclient/src/mailmanclient/restbase/connection.py",
line 96, in call
headers=headers)
File
"/opt/mailman/venv-3.6/lib64/python3.6/site-packages/requests-2.23.0-py3.6.egg/requests/api.py",
line 61, in request
return session.request(method=method, url=url, **kwargs)
File
"/opt/mailman/venv-3.6/lib64/python3.6/site-packages/requests-2.23.0-py3.6.egg/requests/sessions.py",
line 530, in request
resp = self.send(prep, **send_kwargs)
File
"/opt/mailman/venv-3.6/lib64/python3.6/site-packages/requests-2.23.0-py3.6.egg/requests/sessions.py",
line 643, in send
r = adapter.send(request, **kwargs)
File
"/opt/mailman/venv-3.6/lib64/python3.6/site-packages/requests-2.23.0-py3.6.egg/requests/adapters.py",
line 516, in send
raise ConnectionError(e, request=request)
requests.exceptions.ConnectionError:
HTTPConnectionPool(host='localhost', port=8001): Max retries exceeded
with url: /3.0/lists?advertised=true&count=0&page=1 (Caused by
NewConnectionError('<urllib3.connection.HTTPConnection object at
0x7f8dd8cdee80>: Failed to establish a new connection: [Errno 111]
Connection refused',))
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File
"/opt/mailman/venv-3.6/lib64/python3.6/site-packages/Django-2.2.12-py3.6.egg/django/core/handlers/base.py",
line 113, in _get_response
response = wrapped_callback(request, *callback_args, **callback_kwargs)
File "/opt/mailman/postorius/src/postorius/views/list.py", line 755,
in list_index
paginator_class=MailmanPaginator)
File "/opt/mailman/django-mailman3/django_mailman3/lib/paginator.py",
line 71, in paginate
objects = paginator.page(page_num)
File "/opt/mailman/django-mailman3/django_mailman3/lib/paginator.py",
line 46, in page
number = self.validate_number(number)
File
"/opt/mailman/venv-3.6/lib64/python3.6/site-packages/Django-2.2.12-py3.6.egg/django/core/paginator.py",
line 48, in validate_number
if number > self.num_pages:
File
"/opt/mailman/venv-3.6/lib64/python3.6/site-packages/Django-2.2.12-py3.6.egg/django/utils/functional.py",
line 80, in __get__
res = instance.__dict__[self.name] = self.func(instance)
File
"/opt/mailman/venv-3.6/lib64/python3.6/site-packages/Django-2.2.12-py3.6.egg/django/core/paginator.py",
line 97, in num_pages
if self.count == 0 and not self.allow_empty_first_page:
File
"/opt/mailman/venv-3.6/lib64/python3.6/site-packages/Django-2.2.12-py3.6.egg/django/utils/functional.py",
line 80, in __get__
res = instance.__dict__[self.name] = self.func(instance)
File "/opt/mailman/django-mailman3/django_mailman3/lib/paginator.py",
line 56, in count
return self.function(count=0, page=1).total_size
File "/opt/mailman/postorius/src/postorius/views/list.py", line 751,
in _get_list_page
advertised=advertised, mail_host=mail_host, count=count, page=page)
File "/opt/mailman/mailmanclient/src/mailmanclient/client.py", line
181, in get_list_page
return Page(self._connection, url, MailingList, count, page)
File "/opt/mailman/mailmanclient/src/mailmanclient/restbase/page.py",
line 37, in __init__
self._create_page()
File "/opt/mailman/mailmanclient/src/mailmanclient/restbase/page.py",
line 62, in _create_page
response, content = self._connection.call(self._build_url())
File
"/opt/mailman/mailmanclient/src/mailmanclient/restbase/connection.py",
line 120, in call
'Could not connect to Mailman API: ', repr(e))
mailmanclient.restbase.connection.MailmanConnectionError: ('Could not
connect to Mailman API: ',
'ConnectionError(MaxRetryError("HTTPConnectionPool(host=\'localhost\',
port=8001): Max retries exceeded with url:
/3.0/lists?advertised=true&count=0&page=1 (Caused by
NewConnectionError(\'<urllib3.connection.HTTPConnection object at
0x7f8dd8cdee80>: Failed to establish a new connection: [Errno 111]
Connection refused\',))",),)')
<<<< snip
not sure I understand???
On 4/22/20 2:50 PM, Mark Sapiro wrote:
> On 4/22/20 11:35 AM, Ralf Wiegand wrote:
>> but I am getting :
>>
>> mailmanclient.restbase.connection.MailmanConnectionError: ('Could not
>> connect to Mailman API: ',
>> 'ConnectionError(MaxRetryError("HTTPConnectionPool(host=\'localhost\',
>> port=8001): Max retries exceeded with url:
>> /3.0/lists?advertised=true&count=0&page=1 (Caused by
>> NewConnectionError(\'<urllib3.connection.HTTPConnection object at
>> 0x7f88fe4cb4e0>: Failed to establish a new connection: [Errno 111]
>> Connection refused\',))",),)')
>
> What do you have for ALLOWED_HOSTS in your settings file(s)? You may
> want something like
>
> ALLOWED_HOSTS = ['*']
>
> or
>
> ALLOWED_HOSTS = ['192.168.*']
>
5 years, 8 months
[MM3-users] Re: Archive not working - Reg.
by Nirmal J
Yes, There are files in that Directory.
root@list1:/var/lib/mailman3/archives/hyperkitty/spool# ls
1761648373.8935+904b919ee2129941efb5359d7fbc08cc66e154c8.pck 1761648373.917401+f2d75be071a12b44949318373ebcb0b05cf8341e.pck
root@list1:/var/lib/mailman3/archives/hyperkitty/spool#
The Mailmans var.logs/mailman.log contains
root@list1:/var/log/mailman3# cat mailman.log
Oct 29 00:00:03 2025 (678809) Master watcher caught SIGHUP. Re-opening log files.
Oct 29 00:00:03 2025 (678814) archive runner caught SIGHUP. Reopening logs.
Oct 29 00:00:03 2025 (678826) task runner caught SIGHUP. Reopening logs.
Oct 29 00:00:03 2025 (678815) bounces runner caught SIGHUP. Reopening logs.
Oct 29 00:00:03 2025 (678816) command runner caught SIGHUP. Reopening logs.
Oct 29 00:00:03 2025 (678818) lmtp runner caught SIGHUP. Reopening logs.
Oct 29 00:00:03 2025 (678827) virgin runner caught SIGHUP. Reopening logs.
Oct 29 00:00:03 2025 (678820) out runner caught SIGHUP. Reopening logs.
Oct 29 00:00:03 2025 (678821) pipeline runner caught SIGHUP. Reopening logs.
Oct 29 00:00:03 2025 (678817) in runner caught SIGHUP. Reopening logs.
Oct 29 00:00:03 2025 (678828) digest runner caught SIGHUP. Reopening logs.
Oct 29 00:00:03 2025 (678819) nntp runner caught SIGHUP. Reopening logs.
Oct 29 00:00:03 2025 (678823) retry runner caught SIGHUP. Reopening logs.
[2025-10-29 00:00:03 +0530] [683726] [INFO] Booting worker with pid: 683726
[2025-10-29 00:00:03 +0530] [678822] [WARNING] Worker with pid 678843 was terminated due to signal 15
[2025-10-29 00:00:03 +0530] [683727] [INFO] Booting worker with pid: 683727
[2025-10-29 00:00:03 +0530] [678822] [WARNING] Worker with pid 678844 was terminated due to signal 15
Oct 29 00:14:05 2025 (678826) Task runner evicted 0 expired pendings
Oct 29 00:14:05 2025 (678826) Task runner deleted 0 orphaned workflows
Oct 29 00:14:05 2025 (678826) Task runner deleted 0 orphaned requests
Oct 29 00:14:05 2025 (678826) Task runner deleted 0 orphaned messages
Oct 29 00:14:05 2025 (678826) Task runner evicted expired cache entries
[29/Oct/2025:01:00:02 +0530] "GET /3.1/lists?count=10&page=1 HTTP/1.1" 200 473 "-" "GNU Mailman REST client v3.3.5"
Oct 29 01:14:05 2025 (678826) Task runner evicted 0 expired pendings
Oct 29 01:14:05 2025 (678826) Task runner deleted 0 orphaned workflows
Oct 29 01:14:05 2025 (678826) Task runner deleted 0 orphaned requests
Oct 29 01:14:05 2025 (678826) Task runner deleted 0 orphaned messages
Oct 29 01:14:05 2025 (678826) Task runner evicted expired cache entries
[29/Oct/2025:02:00:01 +0530] "GET /3.1/lists?count=10&page=1 HTTP/1.1" 200 473 "-" "GNU Mailman REST client v3.3.5"
Oct 29 02:14:05 2025 (678826) Task runner evicted 0 expired pendings
Oct 29 02:14:05 2025 (678826) Task runner deleted 0 orphaned workflows
Oct 29 02:14:05 2025 (678826) Task runner deleted 0 orphaned requests
Oct 29 02:14:05 2025 (678826) Task runner deleted 0 orphaned messages
Oct 29 02:14:05 2025 (678826) Task runner evicted expired cache entries
[29/Oct/2025:03:00:02 +0530] "GET /3.1/lists?count=10&page=1 HTTP/1.1" 200 473 "-" "GNU Mailman REST client v3.3.5"
Oct 29 03:14:05 2025 (678826) Task runner evicted 0 expired pendings
Oct 29 03:14:05 2025 (678826) Task runner deleted 0 orphaned workflows
Oct 29 03:14:05 2025 (678826) Task runner deleted 0 orphaned requests
Oct 29 03:14:05 2025 (678826) Task runner deleted 0 orphaned messages
Oct 29 03:14:05 2025 (678826) Task runner evicted expired cache entries
[29/Oct/2025:04:00:02 +0530] "GET /3.1/lists?count=10&page=1 HTTP/1.1" 200 473 "-" "GNU Mailman REST client v3.3.5"
Oct 29 04:14:05 2025 (678826) Task runner evicted 0 expired pendings
Oct 29 04:14:05 2025 (678826) Task runner deleted 0 orphaned workflows
Oct 29 04:14:05 2025 (678826) Task runner deleted 0 orphaned requests
Oct 29 04:14:05 2025 (678826) Task runner deleted 0 orphaned messages
Oct 29 04:14:05 2025 (678826) Task runner evicted expired cache entries
[29/Oct/2025:05:00:01 +0530] "GET /3.1/lists?count=10&page=1 HTTP/1.1" 200 473 "-" "GNU Mailman REST client v3.3.5"
Oct 29 05:14:05 2025 (678826) Task runner evicted 0 expired pendings
Oct 29 05:14:05 2025 (678826) Task runner deleted 0 orphaned workflows
Oct 29 05:14:05 2025 (678826) Task runner deleted 0 orphaned requests
Oct 29 05:14:05 2025 (678826) Task runner deleted 0 orphaned messages
Oct 29 05:14:05 2025 (678826) Task runner evicted expired cache entries
[29/Oct/2025:06:00:02 +0530] "GET /3.1/lists?count=10&page=1 HTTP/1.1" 200 473 "-" "GNU Mailman REST client v3.3.5"
Oct 29 06:14:05 2025 (678826) Task runner evicted 0 expired pendings
Oct 29 06:14:05 2025 (678826) Task runner deleted 0 orphaned workflows
Oct 29 06:14:05 2025 (678826) Task runner deleted 0 orphaned requests
Oct 29 06:14:05 2025 (678826) Task runner deleted 0 orphaned messages
Oct 29 06:14:05 2025 (678826) Task runner evicted expired cache entries
[29/Oct/2025:07:00:01 +0530] "GET /3.1/lists?count=10&page=1 HTTP/1.1" 200 473 "-" "GNU Mailman REST client v3.3.5"
Oct 29 07:14:05 2025 (678826) Task runner evicted 0 expired pendings
Oct 29 07:14:05 2025 (678826) Task runner deleted 0 orphaned workflows
Oct 29 07:14:05 2025 (678826) Task runner deleted 0 orphaned requests
Oct 29 07:14:05 2025 (678826) Task runner deleted 0 orphaned messages
Oct 29 07:14:05 2025 (678826) Task runner evicted expired cache entries
[29/Oct/2025:08:00:02 +0530] "GET /3.1/lists?count=10&page=1 HTTP/1.1" 200 473 "-" "GNU Mailman REST client v3.3.5"
Oct 29 08:14:05 2025 (678826) Task runner evicted 0 expired pendings
Oct 29 08:14:05 2025 (678826) Task runner deleted 0 orphaned workflows
Oct 29 08:14:05 2025 (678826) Task runner deleted 0 orphaned requests
Oct 29 08:14:05 2025 (678826) Task runner deleted 0 orphaned messages
Oct 29 08:14:05 2025 (678826) Task runner evicted expired cache entries
[29/Oct/2025:09:00:02 +0530] "GET /3.1/lists?count=10&page=1 HTTP/1.1" 200 473 "-" "GNU Mailman REST client v3.3.5"
Oct 29 09:14:05 2025 (678826) Task runner evicted 0 expired pendings
Oct 29 09:14:05 2025 (678826) Task runner deleted 0 orphaned workflows
Oct 29 09:14:05 2025 (678826) Task runner deleted 0 orphaned requests
Oct 29 09:14:05 2025 (678826) Task runner deleted 0 orphaned messages
Oct 29 09:14:05 2025 (678826) Task runner evicted expired cache entries
-----Original Message-----
From: Mark <mark(a)msapiro.net>
To: mailman-users <mailman-users(a)mailman3.org>
Date: Tuesday, 28 October 2025 9:16 PM IST
Subject: [MM3-users] Re: Archive not working - Reg.
On 10/28/25 03:22, nirmal--- via Mailman-users wrote:
> After sending mail to a list, it is not reflecting back in Hyperkitty archive. Kindly help me in this regard.
Are there files in Mailman's var/archives/hyperkitty/spool/ direrctory?
What's in Mailman's var/logs/mailman.log?
--
Mark Sapiro <mark(a)msapiro.net> The highway is for gamblers,
San Francisco Bay Area, California better use your sense - B. Dylan
_______________________________________________
Mailman-users mailing list -- mailman-users(a)mailman3.org
To unsubscribe send an email to mailman-users-leave(a)mailman3.org
https://lists.mailman3.org/mailman3/lists/mailman-users.mailman3.org/
Archived at: https://lists.mailman3.org/archives/list/mailman-users@mailman3.org/message…
This message sent to nirmal(a)iitm.ac.in
2 months, 3 weeks
[MM3-users] Re: converting bulk accept_these_nonmembers in migration from mailman 2 to 3
by Lucio Chiappetti
Dear Mark, thanks for your interest.
On Fri, 11 Feb 2022, Mark Sapiro wrote:
> This may actually be a bug. I'll have to think about that. I've filed
> https://gitlab.com/mailman/mailman/-/issues/978 on this.
> This is https://gitlab.com/mailman/mailman/-/issues/794 (still open)
Given the time needed to solve the issues (I will anyhow notify the site
administrators, hopting they would update mailman when/if resolved), this
means we have to find a workaround.
> And those non-members all have there moderation action set to Defer
> which means their posts will be accepted but the additional checks such
> as too big, etc. will still be applied.
not sure what you mean by "defer". The non-member options I see are called
List default -- follow the list's default member action.
Hold -- This holds the message for approval by the list moderators.
Reject -- this automatically rejects the message by sending a bounce
notice to the post's author. The text of the bounce notice can be
configured by you.
Discard -- this simply discards the message, with no notice sent to the
post's author.
Accept -- accepts any postings without any further checks.
Default Processing -- run additional checks and accept the message.
> If they are nonmembers, you can accept the post and set moderation
> action in one operation in Postorius, but the regexps in
> hold_these_nonmembers will still take precedence.
OK, I've found where to do it, it requires to select the held message and
scroll to the bottom then set Moderation from a menu.
But if hold_these_nonmembers takes priority this will be uselesws in the
current setting.
> I'm not sure what you are looking at here. Imported nonmembers should
> all have moderation action set according to which *_these_nonmembers
> they came from. Imported members should have their moderation action set
> to Defer if they were unmoderated and if they were moderated, it should
> be set based on the 2.1 list's member_moderation_action.
I go to the non-member list, select non-member options and at the bottom
see an item Administration options Moderation. The possible values are
those I pasted above.
The actual value for most of the imported non-members is "Default
processing" while it is "List default" for thoase automatically added
afresh, It is "Discard" for a number of imported non-members with
spam-looking addresses (I guess they were in some other *_not_members part
of the standard 2.1 antispam ... I can't recall me doing something on
those)
Side question: is there a way to operate IN BULK on non-members ? Like it
is for members (I exported them to CSV).
>> - if so, how can we do it automatically for all 189 entries ?
>> - or move back the 189 addresses to accept_these_nonmembers ?
> Yes, move them back.
I am not so concerned of these 189 (or better of the 189 minus the discard
ones which should stay) ... anyhow moving them back will be uncomfortable
if there is not a bulk operation tool.
I am more concerned of the new cases automatically added.
Our member list includes 1043 addresses. Of these less than 20 use an
external address (say gmail), so they post "from home" and will pass.
194 addresses are of the form name.surname(a)inaf.it (these are likely to be
recently hired staff, who have and use onlyu the organization-wide
address).
All the rest (so still more than 800, can't really ask all of them to
re-register (*)) are of the form username(a)institute.inaf.it (and it won't
be easy also to bulk-delete and bulk-resubscribe because of the
inhomogeneous mapping of username to name.surname.
Of these about 800 some are lurkers and are no problem. Some are frequent
posters and remember to post from username(a)institute.inaf.it and are no
problem. Other may post from an alternate address (maybe even the old
address exists as a receiving-only alias), and in this case with
the current arrangement they will bo on hold every time.
I guess we should wait for the solution of issue 794
(*) by the way do you confirm that if one is subscribed to a list with an
address (be it bulk subscription, import or new fast subscription), this
person CANNOT change their settings (or address) unless one does a "sign
in" to a (Postorius) account ?
> It is because all the legacy *_these_nonmember actions are applied
> before nonmember moderation checks, so if an address matches a regex in
> hold_these_nonmembers, the post will be held regardless of the
> nonmember's moderation action.
> Addresses still work, and accept_these_nonmembers takes precedence over
> hold_these_nonmembers just as in MM 2.1.
This was not my impression when I ran a thorough test of 12 cases. Except
the obvious case of the subscriber posting from the subscription address,
all messages went on hold.
Whatever the non-member moderation would be (even if set to reject ! ...
but that makes sense if *_these_nonmembers prevail on non-member options),
and even if the address was set explicitly in accept_these_nonmembers
(should I delete it from the non-member list ?)
What is the actual order (or flow chart) of choices ?
*_these_nonmembers in the order listed in the page (within each in the
order of occurrence of regexp's) then non-member options ?
If I have Name.Surname(a)inaf.it in accept_these_nonmembers, then
hold_these_nonmembers set to
^.+@.+\.it
^.+@.+\.tng\.iac\.es
what do you foresee ?
And for different regexps, will processing terminate at the first
non-matching one, will they be ANDed or ORed, or what ?
I am reluctant to accept inconditionally ^.+\..+(a)inaf\.it (they may be
falsified, only the check on their presence in the other list (issue 794)
I guess I should remove the ^.+@.+\.it regexp AND AT THE SAME TIME change
the Default action to take when a non-member posts to the list to Hold
instead of Discard.
This way we'll have to check spam (instead of having it auto-discarded),
but if people with alternate addresses post, once they are entered in the
Non-member list they can be authorized to pass for the future ...
.. would it work ?
--
Lucio Chiappetti - INAF/IASF - via Corti 12 - I-20133 Milano (Italy)
For more info : http://www.iasf-milano.inaf.it/~lucio/personal.html
3 years, 11 months
[MM3-users] Re: Migrating mailman3 to latest ubuntu lts
by Helio Loureiro
And using the module manually works...
(venv) mailman@new-server ~ (v3.3.9) [0|127]> *ipython3*
/usr/lib/python3/dist-packages/IPython/core/interactiveshell.py:949:
UserWarning: Attempting to work in a virtualenv. If you encounter problems,
please install IPython inside the virtualenv.
warn(
Python 3.10.12 (main, Jun 11 2023, 05:26:28) [GCC 11.4.0]
Type 'copyright', 'credits' or 'license' for more information
IPython 7.31.1 -- An enhanced Interactive Python. Type '?' for help.
In [1]: *import MySQLdb*
(venv) mailman@new-sever ~ (v3.3.9)> *fg*
Send job 1, 'ipython3' to foreground
In [3]: *con = MySQLdb.connect("localhost", "mailman3web",
"*****************", "mailman3web")*
In [4]:
*cursor = con.cursor()*
In [5]: *cursor.execute("show tables")*
Out[5]: 34
In [6]: *print(cursor.fetchall())*
(('account_emailaddress',), ('account_emailconfirmation',),
('auth_group',), ('auth_group_permissions',), ('auth_permission',),
('auth_user',), ('auth_user_groups',), ('auth_user_user_permissions',),
('django_admin_log',), ('django_content_type',),
('django_mailman3_maildomain',), ('django_mailman3_profile',),
('django_migrations',), ('django_q_ormq',), ('django_q_schedule',),
('django_q_task',), ('django_session',), ('django_site',),
('hyperkitty_attachment',), ('hyperkitty_email',),
('hyperkitty_favorite',), ('hyperkitty_lastview',),
('hyperkitty_mailinglist',), ('hyperkitty_profile',),
('hyperkitty_sender',), ('hyperkitty_tag',), ('hyperkitty_tagging',),
('hyperkitty_thread',), ('hyperkitty_threadcategory',),
('hyperkitty_vote',), ('socialaccount_socialaccount',),
('socialaccount_socialapp',), ('socialaccount_socialapp_sites',),
('socialaccount_socialtoken',))
In [7]: *cursor.execute("select * from account_emailaddress")*
Out[7]: 2530
In [8]: *print(cursor.fetchall())*
So what can I do? Is there a way to troubleshoot the root cause of this
issue?
Best Regards,
Helio Loureiro
https://helio.loureiro.eng.br
https://github.com/helioloureiro
https://mastodon.social/@helioloureiro
On Tue, 19 Dec 2023 at 11:11, Helio Loureiro <helio(a)loureiro.eng.br> wrote:
> Hi,
>
> No luck :(
>
> (venv) mailman@new-server ~ (v3.3.9)> *pip freeze | egrep
> "mailman-web|django-mailman3|django-allauth"*
> django-allauth==0.59.0
> django-mailman3==1.3.11
> mailman-web==0.0.8
> (venv) mailman@new-server ~ (v3.3.9)> *pip install -U
> django-allauth==0.58.0*
> Collecting django-allauth==0.58.0
> Downloading django-allauth-0.58.0.tar.gz (861 kB)
> ---------------------------------------- 861.7/861.7 KB 9.4 MB/s eta
> 0:00:00
> Installing build dependencies ... done
> Getting requirements to build wheel ... done
> Installing backend dependencies ... done
> Preparing metadata (pyproject.toml) ... done
> Requirement already satisfied: requests-oauthlib>=0.3.0 in
> ./venv/lib/python3.10/site-packages (from django-allauth==0.58.0) (1.3.1)
> Requirement already satisfied: Django>=3.2 in
> ./venv/lib/python3.10/site-packages (from django-allauth==0.58.0) (4.1.13)
> Requirement already satisfied: pyjwt[crypto]>=1.7 in
> ./venv/lib/python3.10/site-packages (from django-allauth==0.58.0) (2.8.0)
> Requirement already satisfied: requests>=2.0.0 in
> ./venv/lib/python3.10/site-packages (from django-allauth==0.58.0) (2.31.0)
> Requirement already satisfied: python3-openid>=3.0.8 in
> ./venv/lib/python3.10/site-packages (from django-allauth==0.58.0) (3.2.0)
> Requirement already satisfied: asgiref<4,>=3.5.2 in
> ./venv/lib/python3.10/site-packages (from
> Django>=3.2->django-allauth==0.58.0) (3.7.2)
> Requirement already satisfied: sqlparse>=0.2.2 in
> ./venv/lib/python3.10/site-packages (from
> Django>=3.2->django-allauth==0.58.0) (0.4.4)
> Requirement already satisfied: cryptography>=3.4.0 in
> ./venv/lib/python3.10/site-packages (from
> pyjwt[crypto]>=1.7->django-allauth==0.58.0) (41.0.7)
> Requirement already satisfied: defusedxml in
> ./venv/lib/python3.10/site-packages (from
> python3-openid>=3.0.8->django-allauth==0.58.0) (0.7.1)
> Requirement already satisfied: urllib3<3,>=1.21.1 in
> ./venv/lib/python3.10/site-packages (from
> requests>=2.0.0->django-allauth==0.58.0) (2.1.0)
> Requirement already satisfied: charset-normalizer<4,>=2 in
> ./venv/lib/python3.10/site-packages (from
> requests>=2.0.0->django-allauth==0.58.0) (3.3.2)
> Requirement already satisfied: idna<4,>=2.5 in
> ./venv/lib/python3.10/site-packages (from
> requests>=2.0.0->django-allauth==0.58.0) (3.6)
> Requirement already satisfied: certifi>=2017.4.17 in
> ./venv/lib/python3.10/site-packages (from
> requests>=2.0.0->django-allauth==0.58.0) (2023.11.17)
> Requirement already satisfied: oauthlib>=3.0.0 in
> ./venv/lib/python3.10/site-packages (from
> requests-oauthlib>=0.3.0->django-allauth==0.58.0) (3.2.2)
> Requirement already satisfied: typing-extensions>=4 in
> ./venv/lib/python3.10/site-packages (from
> asgiref<4,>=3.5.2->Django>=3.2->django-allauth==0.58.0) (4.9.0)
> Requirement already satisfied: cffi>=1.12 in
> ./venv/lib/python3.10/site-packages (from
> cryptography>=3.4.0->pyjwt[crypto]>=1.7->django-allauth==0.58.0) (1.16.0)
> Requirement already satisfied: pycparser in
> ./venv/lib/python3.10/site-packages (from
> cffi>=1.12->cryptography>=3.4.0->pyjwt[crypto]>=1.7->django-allauth==0.58.0)
> (2.21)
> Building wheels for collected packages: django-allauth
> Building wheel for django-allauth (pyproject.toml) ... done
> Created wheel for django-allauth:
> filename=django_allauth-0.58.0-py3-none-any.whl size=1157319
> sha256=a430c552101d1ad47bc00b16d1c1d6df728afacdd13823927b4cbfb02c35dbfc
> Stored in directory:
> /local/mailman/.cache-ubuntu-22.04/pip/wheels/55/0a/79/e199827a18f310906c2a90b0e92b89c41daf21d2a502db6710
> Successfully built django-allauth
> Installing collected packages: django-allauth
> Attempting uninstall: django-allauth
> Found existing installation: django-allauth 0.59.0
> Uninstalling django-allauth-0.59.0:
> Successfully uninstalled django-allauth-0.59.0
> Successfully installed django-allauth-0.58.0
> (venv) mailman@new-server ~ (v3.3.9)> *mailman-web migrate*
> System check identified some issues:
>
> WARNINGS:
> account.EmailAddress: (models.W036) MariaDB does not support unique
> constraints with conditions.
> HINT: A constraint won't be created. Silence this warning if you don't
> care about it.
> account.EmailAddress: (models.W043) MariaDB does not support indexes on
> expressions.
> HINT: An index won't be created. Silence this warning if you don't care
> about it.
> Operations to perform:
> Apply all migrations: account, admin, auth, contenttypes,
> django_mailman3, django_q, hyperkitty, postorius, sessions, sites,
> socialaccount
> Running migrations:
> Applying account.0004_alter_emailaddress_drop_unique_email...Traceback
> (most recent call last):
> File
> "/local/mailman/venv/lib/python3.10/site-packages/django/db/backends/utils.py",
> line 89, in _execute
> return self.cursor.execute(sql, params)
> File
> "/local/mailman/venv/lib/python3.10/site-packages/django/db/backends/mysql/base.py",
> line 75, in execute
> return self.cursor.execute(query, args)
> File
> "/local/mailman/venv/lib/python3.10/site-packages/MySQLdb/cursors.py", line
> 179, in execute
> res = self._query(mogrified_query)
> File
> "/local/mailman/venv/lib/python3.10/site-packages/MySQLdb/cursors.py", line
> 330, in _query
> db.query(q)
> File
> "/local/mailman/venv/lib/python3.10/site-packages/MySQLdb/connections.py",
> line 257, in query
> _mysql.connection.query(self, query)
> MySQLdb.OperationalError: (2013, 'Lost connection to MySQL server during
> query')
>
> The above exception was the direct cause of the following exception:
>
> Traceback (most recent call last):
> File "/local/mailman/venv/bin/mailman-web", line 8, in <module>
> sys.exit(main())
> File
> "/local/mailman/venv/lib/python3.10/site-packages/mailman_web/manage.py",
> line 90, in main
> execute_from_command_line(sys.argv)
> File
> "/local/mailman/venv/lib/python3.10/site-packages/django/core/management/__init__.py",
> line 446, in execute_from_command_line
> utility.execute()
> File
> "/local/mailman/venv/lib/python3.10/site-packages/django/core/management/__init__.py",
> line 440, in execute
> self.fetch_command(subcommand).run_from_argv(self.argv)
> File
> "/local/mailman/venv/lib/python3.10/site-packages/django/core/management/base.py",
> line 402, in run_from_argv
> self.execute(*args, **cmd_options)
> File
> "/local/mailman/venv/lib/python3.10/site-packages/django/core/management/base.py",
> line 448, in execute
> output = self.handle(*args, **options)
> File
> "/local/mailman/venv/lib/python3.10/site-packages/django/core/management/base.py",
> line 96, in wrapped
> res = handle_func(*args, **kwargs)
> File
> "/local/mailman/venv/lib/python3.10/site-packages/django/core/management/commands/migrate.py",
> line 349, in handle
> post_migrate_state = executor.migrate(
> File
> "/local/mailman/venv/lib/python3.10/site-packages/django/db/migrations/executor.py",
> line 135, in migrate
> state = self._migrate_all_forwards(
> File
> "/local/mailman/venv/lib/python3.10/site-packages/django/db/migrations/executor.py",
> line 167, in _migrate_all_forwards
> state = self.apply_migration(
> File
> "/local/mailman/venv/lib/python3.10/site-packages/django/db/migrations/executor.py",
> line 252, in apply_migration
> state = migration.apply(state, schema_editor)
> File
> "/local/mailman/venv/lib/python3.10/site-packages/django/db/migrations/migration.py",
> line 130, in apply
> operation.database_forwards(
> File
> "/local/mailman/venv/lib/python3.10/site-packages/django/db/migrations/operations/fields.py",
> line 235, in database_forwards
> schema_editor.alter_field(from_model, from_field, to_field)
> File
> "/local/mailman/venv/lib/python3.10/site-packages/django/db/backends/base/schema.py",
> line 788, in alter_field
> self._alter_field(
> File
> "/local/mailman/venv/lib/python3.10/site-packages/django/db/backends/base/schema.py",
> line 858, in _alter_field
> self.execute(self._delete_unique_sql(model, constraint_name))
> File
> "/local/mailman/venv/lib/python3.10/site-packages/django/db/backends/base/schema.py",
> line 199, in execute
> cursor.execute(sql, params)
> File
> "/local/mailman/venv/lib/python3.10/site-packages/django/db/backends/utils.py",
> line 67, in execute
> return self._execute_with_wrappers(
> File
> "/local/mailman/venv/lib/python3.10/site-packages/django/db/backends/utils.py",
> line 80, in _execute_with_wrappers
> return executor(sql, params, many, context)
> File
> "/local/mailman/venv/lib/python3.10/site-packages/django/db/backends/utils.py",
> line 84, in _execute
> with self.db.wrap_database_errors:
> File
> "/local/mailman/venv/lib/python3.10/site-packages/django/db/utils.py", line
> 91, in __exit__
> raise dj_exc_value.with_traceback(traceback) from exc_value
> File
> "/local/mailman/venv/lib/python3.10/site-packages/django/db/backends/utils.py",
> line 89, in _execute
> return self.cursor.execute(sql, params)
> File
> "/local/mailman/venv/lib/python3.10/site-packages/django/db/backends/mysql/base.py",
> line 75, in execute
> return self.cursor.execute(query, args)
> File
> "/local/mailman/venv/lib/python3.10/site-packages/MySQLdb/cursors.py", line
> 179, in execute
> res = self._query(mogrified_query)
> File
> "/local/mailman/venv/lib/python3.10/site-packages/MySQLdb/cursors.py", line
> 330, in _query
> db.query(q)
> File
> "/local/mailman/venv/lib/python3.10/site-packages/MySQLdb/connections.py",
> line 257, in query
> _mysql.connection.query(self, query)
> django.db.utils.OperationalError: (2013, 'Lost connection to MySQL server
> during query')
> (venv) mailman@new-server ~ (v3.3.9) [0|1]> *more
> /etc/mailman3/settings.py*
> # Mailman Web configuration file.
> # /etc/mailman3/settings.py
>
> # Get the default settings.
> from mailman_web.settings.base import *
> from mailman_web.settings.mailman import *
>
> # Settings below supplement or override the defaults.
>
> #: Default list of admins who receive the emails from error logging.
> ADMINS = (
> ('Mailman Suite Admin', 'root@localhost'),
> )
>
> # Postgresql database setup.
> DATABASES = {
> 'default': {
> 'ENGINE': 'django.db.backends.mysql',
> 'NAME': 'mailman3web',
> 'USER': 'mailman3web',
> # TODO: Replace this with the password.
> 'PASSWORD': '***********',
> 'HOST': 'localhost',
> # PORT: set to empty string for default.
> 'PORT': '3306',
> # OPTIONS: Extra parameters to use when connecting to the database.
> #'OPTIONS': {
> # Set sql_mode to 'STRICT_TRANS_TABLES' for MySQL. See
> # https://docs.djangoproject.com/en/1.11/ref/
> # databases/#setting-sql-mode
> # 'init_command': "SET sql_mode='STRICT_TRANS_TABLES'",
> # 'charset': 'utf8mb4',
> #},
>
> }
> }
>
> # 'collectstatic' command will copy all the static files here.
> # Alias this location from your webserver to `/static`
> STATIC_ROOT = '/local/mailman/web/static'
>
> # enable the 'compress' command.
> COMPRESS_ENABLED = True
>
> # Make sure that this directory is created or Django will fail on start.
> LOGGING['handlers']['file']['filename'] =
> '/local/mailman/web/logs/mailmanweb.log'
>
> #: See https://docs.djangoproject.com/en/dev/ref/settings/#allowed-hosts
> ALLOWED_HOSTS = [
> "localhost", # Archiving API from Mailman, keep it.
> "127.0.0.1",
> # "lists.your-domain.org",
> # Add here all production domains you have.
> "*"
> ]
>
> #: See
> https://docs.djangoproject.com/en/dev/ref/settings/#csrf-trusted-origins
> (venv) mailman@new-server ~ (v3.3.9)> *mysql -umailman3web -p -h
> localhost mailman3web*
> Enter password:
> Reading table information for completion of table and column names
> You can turn off this feature to get a quicker startup with -A
>
> Welcome to the MariaDB monitor. Commands end with ; or \g.
> Your MariaDB connection id is 32
> Server version: 10.6.12-MariaDB-0ubuntu0.22.04.1 Ubuntu 22.04
>
> Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.
>
> Type 'help;' or '\h' for help. Type '\c' to clear the current input
> statement.
>
> MariaDB [mailman3web]> show tables;
> +-------------------------------+
> | Tables_in_mailman3web |
> +-------------------------------+
> | account_emailaddress |
> | account_emailconfirmation |
> | auth_group |
> | auth_group_permissions |
> | auth_permission |
> | auth_user |
> | auth_user_groups |
> | auth_user_user_permissions |
> | django_admin_log |
> | django_content_type |
> | django_mailman3_maildomain |
> | django_mailman3_profile |
> | django_migrations |
> | django_q_ormq |
> | django_q_schedule |
> | django_q_task |
> | django_session |
> | django_site |
> | hyperkitty_attachment |
> | hyperkitty_email |
> | hyperkitty_favorite |
> | hyperkitty_lastview |
> | hyperkitty_mailinglist |
> | hyperkitty_profile |
> | hyperkitty_sender |
> | hyperkitty_tag |
> | hyperkitty_tagging |
> | hyperkitty_thread |
> | hyperkitty_threadcategory |
> | hyperkitty_vote |
> | socialaccount_socialaccount |
> | socialaccount_socialapp |
> | socialaccount_socialapp_sites |
> | socialaccount_socialtoken |
> +-------------------------------+
> 34 rows in set (0.000 sec)
>
> Best Regards,
> Helio Loureiro
> https://helio.loureiro.eng.br
> https://github.com/helioloureiro
> https://mastodon.social/@helioloureiro
>
>
> On Mon, 18 Dec 2023 at 17:11, Mark Sapiro <mark(a)msapiro.net> wrote:
>
>> On 12/18/23 6:24 AM, Helio Loureiro wrote:
>> > Hi,
>> >
>> > Indeed it was the configuration. It was placed into
>> > /etc/mailman3/mailman-web.py. After a I changed to
>> > /etc/mailman3/settings.py a few things advanced a little bit more.
>> >
>> > I had to figure out how to fix mysqlclient installation since there
>> isn't a
>> > mention about it and the simple "pip install mysqclient" was breaking
>> with
>> > pkg-config issues. But it did work at the end.
>> >
>> > Now I can see further messages on mailman3-web than before.
>> >
>> > (venv) mailman@new-server ~ (v3.3.9)> mailman-web migrate
>> > System check identified some issues:
>> >
>> > WARNINGS:
>> > account.EmailAddress: (models.W036) MariaDB does not support unique
>> > constraints with conditions.
>> > HINT: A constraint won't be created. Silence this warning if you don't
>> care
>> > about it.
>> > account.EmailAddress: (models.W043) MariaDB does not support indexes on
>> > expressions.
>> > HINT: An index won't be created. Silence this warning if you don't care
>> > about it.
>> > Operations to perform:
>> > Apply all migrations: account, admin, auth, contenttypes,
>> > django_mailman3, django_q, hyperkitty, postorius, sessions, sites,
>> > socialaccount
>> > Running migrations:
>> > Applying
>> account.0004_alter_emailaddress_drop_unique_email...Traceback
>> > (most recent call last):
>>
>>
>> I'm not sure why there would be an issue with this migration, but there
>> is a possible compatibility issue depending on how you installed things.
>>
>> django-mailman3<=1.3.11 is not compatible with django-allauth>=0.58.
>>
>> In your venv, try
>> ```
>> pip install django-allauth\<0.58
>> ```
>>
>> --
>> Mark Sapiro <mark(a)msapiro.net> The highway is for gamblers,
>> San Francisco Bay Area, California better use your sense - B. Dylan
>>
>> _______________________________________________
>> Mailman-users mailing list -- mailman-users(a)mailman3.org
>> To unsubscribe send an email to mailman-users-leave(a)mailman3.org
>> https://lists.mailman3.org/mailman3/lists/mailman-users.mailman3.org/
>> Archived at:
>> https://lists.mailman3.org/archives/list/mailman-users@mailman3.org/message…
>>
>> This message sent to helio(a)loureiro.eng.br
>>
>
2 years
[MM3-users] Re: Creating users via RestAPI / User-Management - a bunch of questions
by Stephen J. Turnbull
Mark Sapiro writes:
> On 6/20/25 06:39, Christian Schneider wrote:
> > What I stumble upon is the RestAPI calls to create a "working"
> > user (with the ability to login via WebUI).
> > When I follow the manual (from the url above) I create a user
> > (including password) that appears in the PostgreSQL database.
If you mean you create a User with password via the REST API, this
password is useless. It is not visible to the Django user management
code, and there is no way for a user to log in to Mailman via the REST
API -- the only one who can log in via REST is the superuser.
> > Even when I (via WebUI) set the user as "approved" this user is
> > not able to log in...
I'm not sure how this works, exactly, but I think what you need to do
via REST API is
1. Create the User.
2. Give it an email Address (this probably is automatic, I don't know
if you can create a "bare" user without an email address at all).
3. (probably optional) Set that address as verified.
Then through the Postorius interface you should be able to look up
that user via the email address. That should create a Django user if
one doesn't exist for that email address. I don't recall if Postorius
allows you to set the user's password. You may have to go via the
Django admin interface (the /admin location which is sibling to
/mailman3 and /archives). I'm not sure how to find that user (I don't
know what the user's account name in Django is, hopefully you can look
up the user via the email).
> > I assume this restriction is in accordance to the fact that there
> > is not equivalent Django user.
I don't think there can be a Postorius access to a Mailman user
without a Django user.
> > (There was a mail in the archive of the MM3 user group...stating
> > that one has to use the Django RestAPI to create the appropriate
> > user)
>
> The above is correct. The Mailman REST API only deals with Mailman
> core. Mailman core knows nothing about Django.
Right, if you want to do the whole thing in a script you'll have to
access Django.
> > How will a social account provider (like oidc) linkage (in
> > Django) fit in this concept?
> > Will oidc-accounts be copied to the Django's user database (or
> > PostgreSQL db) or is it an on-the-fly check against the
> > oidc-provider? (I assume second option)
> > What are the status-flags (staff status/superuser status/active
> > status) of the linked oidc-accounts? (Can I specify the status
> > flags?)
>
> I don't offhand know the answers to that, but I think logging in
> via a social account provider creates a Django user..
I can't speak for generic social accounts, but it definitely did that
for a Shibboleth-based SSO setup. Just pass the login credentials
provided by Shibboleth through to the social account stuff (verrrry
carefully :-), and everything just works.
Social auth gets the bare minimum information from the idP as far as I
know (didn't look into it carefully). At least in my case all we got
from Shibboleth was a display name (the personal name) and an email
address (not even an verifiable auth token, they trusted their network
that much). Users could set passwords but they didn't work (Django
could only be accessed by users logged in to the network, and if you
logged out, the request triggered by the redirect back to the login
page would log you right back in again! Freaky...).
> > A conceptual thought:
> > When "user1" (with email user1(a)example.com) is known to django
> > via oidc linkage and I create "user1" (also with email
> > user1(a)example.com) via RestAPI calls (following the url
> > https://docs.mailman3.org/projects/mailman/en/latest/src/mailman/rest/docs/…)
> > do I have a "complete" user then?
That depends on how the social auth is set up. Most likely the
account is linked to the email, Django trusts that email if validated
by the idP, and it will create a Django user to manage it if one
doesn't already exist. If you are accessing Postorius or HyperKitty,
that app will trust the email because it trusts Django, and it will
create a Mailman user as Mark described if one doesn't already exist.
(I don't think the Django and Mailman user-ids need to match, even.)
I'm not sure what happens if you create the Mailman user and assign it
that email address independently of creating the Django user. I think
it should "just work" to log in via Django as long as the idP vouches
that the email is authentic.
Note that there's one glitch remaining -- I'm pretty sure[1] that if
you have an existing Mailman user, and the email address is in the
unconfirmed state in Mailman, you'll have to confirm it to subscribe
to lists and probably to do any other work with that user logged in by
that address. You can do that via "one-time key" email dance, or via
the Mailman REST API though. (It may be possible to do that via the
Django admin API as well, but obviously you can't do that with
Postorius, or anybody could claim any address.)
Short version:
> > I mean a user who is able to login and who can be assigned to a
> > list as admin (e.g.) (In this case I would not have to care
> > about the Django user database... ;-))
>
> If the user can log in to the web UI with an associated email
> address, if that address is an admin of a list, the logged in user
> can admin the list.
Footnotes:
[1] Actually, I'm not sure at all but you *should* have to confirm!
--
GNU Mailman consultant (installation, migration, customization)
Sirius Open Source https://www.siriusopensource.com/
Software systems consulting in Europe, North America, and Japan
6 months, 4 weeks
[MM3-users] Re: using SSH/TLS with external MTA
by Roland Giesler
On 2024/07/28 15:26, Roland Giesler via Mailman-users wrote:
> On 2024/07/28 00:39, Mark Sapiro wrote:
>> On 7/27/24 15:16, Roland Giesler via Mailman-users wrote:
>>>
>>> The server runs power-mailinabox, which uses Postfix indeed. All my
>>> mail, and quite a few others' mail is sent from the using SMTP-Auth
>>> on port 465. Actually, this message is sent via that server too.
>>> So it's clear to me that MM3 is not authenticating for some reason.
>>
>> What do you see in Mailman's smtp.log and in the mail.log on the mail
>> server?
>
> The smtp log is in syslog...
I also see this in /var/log/mailman3/web/mailman-web.log
*** Starting uWSGI 2.0.20-debian (64bit) on [Sun Jul 28 15:27:48 2024] ***
compiled with version: 11.2.0 on 21 March 2022 11:00:44
os: Linux-5.15.108-1-pve #1 SMP PVE 5.15.108-2 (2023-07-20T10:06Z)
nodename: mailman
machine: x86_64
clock source: unix
pcre jit disabled
detected number of CPU cores: 1
current working directory: /
detected binary path: /usr/bin/uwsgi-core
setgid() to 33
setuid() to 33
chdir() to /usr/share/mailman3-web
your processes number limit is 513922
your memory page size is 4096 bytes
detected max file descriptor number: 1024
lock engine: pthread robust mutexes
thunder lock: disabled (you can enable it with --thunder-lock)
uwsgi socket 0 bound to UNIX address /run/mailman3-web/uwsgi.sock fd 4
Python version: 3.10.12 (main, Mar 22 2024, 16:50:05) [GCC 11.4.0]
Python main interpreter initialized at 0x561ce813d1d0
python threads support enabled
your server socket listen backlog is limited to 100 connections
your mercy for graceful operations on workers is 60 seconds
mapped 166752 bytes (162 KB) for 2 cores
*** Operational MODE: threaded ***
/usr/lib/python3/dist-packages/django_q/conf.py:139: UserWarning: Retry
and timeout are misconfigured. Set retry larger than timeout,
failure to do so will cause the tasks to be retriggered before
completion.
See
https://django-q.readthedocs.io/en/latest/configure.html#retry for details.
warn(
WSGI app 0 (mountpoint='') ready in 5 seconds on interpreter
0x561ce813d1d0 pid: 113 (default app)
*** uWSGI is running in multiple interpreter mode ***
spawned uWSGI master process (pid: 113)
spawned uWSGI worker 1 (pid: 339, cores: 2)
[uwsgi-daemons] spawning "python3 manage.py qcluster" (uid: 33 gid: 33)
/usr/lib/python3/dist-packages/django_q/conf.py:139: UserWarning: Retry
and timeout are misconfigured. Set retry larger than timeout,
failure to do so will cause the tasks to be retriggered before
completion.
See
https://django-q.readthedocs.io/en/latest/configure.html#retry for details.
warn(
System check identified some issues:
WARNINGS:
django_mailman3.MailDomain: (models.W042) Auto-created primary key used
when not defining a primary key type, by default
'django.db.models.AutoField'.
HINT: Configure the DEFAULT_AUTO_FIELD setting or the
DjangoMailman3Config.default_auto_field attribute to point to a subclass
of AutoField, e.g. 'django.db.models.BigAutoField'.
django_mailman3.Profile: (models.W042) Auto-created primary key used
when not defining a primary key type, by default
'django.db.models.AutoField'.
HINT: Configure the DEFAULT_AUTO_FIELD setting or the
DjangoMailman3Config.default_auto_field attribute to point to a subclass
of AutoField, e.g. 'django.db.models.BigAutoField'.
hyperkitty.Attachment: (models.W042) Auto-created primary key used when
not defining a primary key type, by default 'django.db.models.AutoField'.
HINT: Configure the DEFAULT_AUTO_FIELD setting or the
HyperKittyConfig.default_auto_field attribute to point to a subclass of
AutoField, e.g. 'django.db.models.BigAutoField'.
hyperkitty.Email: (models.W042) Auto-created primary key used when not
defining a primary key type, by default 'django.db.models.AutoField'.
HINT: Configure the DEFAULT_AUTO_FIELD setting or the
HyperKittyConfig.default_auto_field attribute to point to a subclass of
AutoField, e.g. 'django.db.models.BigAutoField'.
hyperkitty.Favorite: (models.W042) Auto-created primary key used when
not defining a primary key type, by default 'django.db.models.AutoField'.
HINT: Configure the DEFAULT_AUTO_FIELD setting or the
HyperKittyConfig.default_auto_field attribute to point to a subclass of
AutoField, e.g. 'django.db.models.BigAutoField'.
hyperkitty.LastView: (models.W042) Auto-created primary key used when
not defining a primary key type, by default 'django.db.models.AutoField'.
HINT: Configure the DEFAULT_AUTO_FIELD setting or the
HyperKittyConfig.default_auto_field attribute to point to a subclass of
AutoField, e.g. 'django.db.models.BigAutoField'.
hyperkitty.MailingList: (models.W042) Auto-created primary key used when
not defining a primary key type, by default 'django.db.models.AutoField'.
HINT: Configure the DEFAULT_AUTO_FIELD setting or the
HyperKittyConfig.default_auto_field attribute to point to a subclass of
AutoField, e.g. 'django.db.models.BigAutoField'.
hyperkitty.Profile: (models.W042) Auto-created primary key used when not
defining a primary key type, by default 'django.db.models.AutoField'.
HINT: Configure the DEFAULT_AUTO_FIELD setting or the
HyperKittyConfig.default_auto_field attribute to point to a subclass of
AutoField, e.g. 'django.db.models.BigAutoField'.
hyperkitty.Tag: (models.W042) Auto-created primary key used when not
defining a primary key type, by default 'django.db.models.AutoField'.
HINT: Configure the DEFAULT_AUTO_FIELD setting or the
HyperKittyConfig.default_auto_field attribute to point to a subclass of
AutoField, e.g. 'django.db.models.BigAutoField'.
hyperkitty.Tagging: (models.W042) Auto-created primary key used when not
defining a primary key type, by default 'django.db.models.AutoField'.
HINT: Configure the DEFAULT_AUTO_FIELD setting or the
HyperKittyConfig.default_auto_field attribute to point to a subclass of
AutoField, e.g. 'django.db.models.BigAutoField'.
hyperkitty.Thread: (models.W042) Auto-created primary key used when not
defining a primary key type, by default 'django.db.models.AutoField'.
HINT: Configure the DEFAULT_AUTO_FIELD setting or the
HyperKittyConfig.default_auto_field attribute to point to a subclass of
AutoField, e.g. 'django.db.models.BigAutoField'.
hyperkitty.ThreadCategory: (models.W042) Auto-created primary key used
when not defining a primary key type, by default
'django.db.models.AutoField'.
HINT: Configure the DEFAULT_AUTO_FIELD setting or the
HyperKittyConfig.default_auto_field attribute to point to a subclass of
AutoField, e.g. 'django.db.models.BigAutoField'.
hyperkitty.Vote: (models.W042) Auto-created primary key used when not
defining a primary key type, by default 'django.db.models.AutoField'.
HINT: Configure the DEFAULT_AUTO_FIELD setting or the
HyperKittyConfig.default_auto_field attribute to point to a subclass of
AutoField, e.g. 'django.db.models.BigAutoField'.
postorius.EmailTemplate: (models.W042) Auto-created primary key used
when not defining a primary key type, by default
'django.db.models.AutoField'.
HINT: Configure the DEFAULT_AUTO_FIELD setting or the
PostoriusConfig.default_auto_field attribute to point to a subclass of
AutoField, e.g. 'django.db.models.BigAutoField'.
15:27:55 [Q] INFO Q Cluster low-vermont-harry-fillet starting.
15:27:55 [Q] INFO Process-1 guarding cluster low-vermont-harry-fillet
15:27:55 [Q] INFO Q Cluster low-vermont-harry-fillet running.
15:27:55 [Q] INFO Process-1:3 pushing tasks at 386
15:27:55 [Q] INFO Process-1:2 monitoring at 385
15:27:55 [Q] INFO Process-1:1 ready for work at 384
1 year, 5 months
[MM3-users] Re: "Something went wrong | Mailman REST API not available. Please restart Mailman core.
by Hirayama, Pat
Thanks, Mark. Yeah, it's an odd one. These are from around 22:10-22:14 in mailman.log within the mailman-core container.
[29/Oct/2025:22:10:23 +0000] "GET /3.1/domains HTTP/1.1" 200 926 "-" "GNU Mailman REST client v3.3.1"
[29/Oct/2025:22:10:23 +0000] "GET /3.1/domains/fhcrc.org HTTP/1.1" 200 193 "-" "GNU Mailman REST client v3.3.1"
[29/Oct/2025:22:10:23 +0000] "GET /3.1/domains/fredhutch.org HTTP/1.1" 200 201 "-" "GNU Mailman REST client v3.3.1"
[29/Oct/2025:22:10:23 +0000] "GET /3.1/domains/lists.fhcrc.org HTTP/1.1" 200 220 "-" "GNU Mailman REST client v3.3.1"
[29/Oct/2025:22:10:23 +0000] "GET /3.1/domains/lists.hanc.info HTTP/1.1" 200 201 "-" "GNU Mailman REST client v3.3.1"
[29/Oct/2025:22:10:23 +0000] "POST /3.1/lists/find HTTP/1.1" 200 13020 "-" "GNU Mailman REST client v3.3.1"
[29/Oct/2025:22:10:25 +0000] "GET /3.1/lists/cancerbiology100.lists.fhcrc.org HTTP/1.1" 200 433 "-" "GNU Mailman REST client v3.3.1"
[29/Oct/2025:22:10:26 +0000] "GET /3.1/lists/cancerbiology100.lists.fhcrc.org/roster/owner HTTP/1.1" 200 1175 "-" "GNU Mailman REST client v3.3.1"
[29/Oct/2025:22:10:26 +0000] "GET /3.1/lists/cancerbiology100.lists.fhcrc.org/roster/moderator HTTP/1.1" 200 90 "-" "GNU Mailman REST client v3.3.1"
[29/Oct/2025:22:10:26 +0000] "GET /3.1/lists/cancerbiology100(a)lists.fhcrc.org/config HTTP/1.1" 200 3016 "-" "GNU Mailman REST client v3.3.1"
[29/Oct/2025:22:10:26 +0000] "GET /3.1/lists/cancerbiology100.lists.fhcrc.org/archivers HTTP/1.1" 200 81 "-" "GNU Mailman REST client v3.3.1"
[29/Oct/2025:22:10:26 +0000] "GET /3.1/lists/cancerbiology100.lists.fhcrc.org/archivers HTTP/1.1" 200 81 "-" "GNU Mailman REST client v3.3.1"
[29/Oct/2025:22:10:26 +0000] "GET /3.1/lists/cancerbiology100(a)lists.fhcrc.org/requests HTTP/1.1" 200 1307 "-" "GNU Mailman REST client v3.3.1"
[29/Oct/2025:22:10:26 +0000] "GET /3.1/lists/cancerbiology100.lists.fhcrc.org/member/aismael%40fredhutch.org HTTP/1.1" 200 509 "-" "GNU Mailman REST client v3.3.1"
[29/Oct/2025:22:10:26 +0000] "GET /3.1/lists/cancerbiology100(a)lists.fhcrc.org/requests HTTP/1.1" 200 1307 "-" "GNU Mailman REST client v3.3.1"
[2025-10-29 22:10:26 +0000] [31] [ERROR] Socket error processing request.
Traceback (most recent call last):
File "/usr/local/lib/python3.8/site-packages/gunicorn/workers/sync.py", line 134, in handle
self.handle_request(listener, req, client, addr)
File "/usr/local/lib/python3.8/site-packages/gunicorn/workers/sync.py", line 190, in handle_request
util.reraise(*sys.exc_info())
File "/usr/local/lib/python3.8/site-packages/gunicorn/util.py", line 625, in reraise
raise value
File "/usr/local/lib/python3.8/site-packages/gunicorn/workers/sync.py", line 175, in handle_request
respiter = self.wsgi(environ, resp.start_response)
File "/usr/local/lib/python3.8/site-packages/mailman/database/transaction.py", line 50, in wrapper
rtn = function(*args, **kws)
File "/usr/local/lib/python3.8/site-packages/mailman/rest/wsgiapp.py", line 193, in __call__
return super().__call__(environ, start_response)
File "/usr/local/lib/python3.8/site-packages/falcon/api.py", line 269, in __call__
responder(req, resp, **params)
File "/usr/local/lib/python3.8/site-packages/mailman/rest/post_moderation.py", line 163, in on_get
resource = self._make_collection(request)
File "/usr/local/lib/python3.8/site-packages/mailman/rest/helpers.py", line 172, in _make_collection
entries = [self._resource_as_dict(resource)
File "/usr/local/lib/python3.8/site-packages/mailman/rest/helpers.py", line 172, in <listcomp>
entries = [self._resource_as_dict(resource)
File "/usr/local/lib/python3.8/site-packages/mailman/rest/post_moderation.py", line 153, in _resource_as_dict
resource = self._make_resource(request.id)
File "/usr/local/lib/python3.8/site-packages/mailman/rest/post_moderation.py", line 76, in _make_resource
msg = getUtility(IMessageStore).get_message_by_id(key)
File "/usr/local/lib/python3.8/site-packages/mailman/database/transaction.py", line 85, in wrapper
return function(args[0], config.db.store, *args[1:], **kws)
File "/usr/local/lib/python3.8/site-packages/mailman/model/messagestore.py", line 103, in get_message_by_id
return self._get_message(row)
File "/usr/local/lib/python3.8/site-packages/mailman/model/messagestore.py", line 95, in _get_message
with open(path, 'rb') as fp:
FileNotFoundError: [Errno 2] No such file or directory: '/opt/mailman/var/messages/WD/BX/WDBXUFG34LR6QJUQXUWXRHZ4OO4GMQ52'
[29/Oct/2025:22:11:49 +0000] "GET /3.1/lists/pattest.lists.fhcrc.org HTTP/1.1" 200 373 "-" "GNU Mailman REST client v3.3.1"
[29/Oct/2025:22:11:50 +0000] "GET /3.1/lists/pattest.lists.fhcrc.org/roster/owner HTTP/1.1" 200 624 "-" "GNU Mailman REST client v3.3.1"
[29/Oct/2025:22:11:50 +0000] "GET /3.1/lists/pattest.lists.fhcrc.org/roster/moderator HTTP/1.1" 200 90 "-" "GNU Mailman REST client v3.3.1"
[29/Oct/2025:22:11:50 +0000] "GET /3.1/lists/pattest(a)lists.fhcrc.org/config HTTP/1.1" 200 3262 "-" "GNU Mailman REST client v3.3.1"
[29/Oct/2025:22:11:50 +0000] "GET /3.1/lists/pattest.lists.fhcrc.org/archivers HTTP/1.1" 200 81 "-" "GNU Mailman REST client v3.3.1"
[29/Oct/2025:22:11:50 +0000] "GET /3.1/lists/pattest.lists.fhcrc.org/archivers HTTP/1.1" 200 81 "-" "GNU Mailman REST client v3.3.1"
[29/Oct/2025:22:11:50 +0000] "GET /3.1/lists/pattest(a)lists.fhcrc.org/requests HTTP/1.1" 200 90 "-" "GNU Mailman REST client v3.3.1"
[29/Oct/2025:22:11:50 +0000] "GET /3.1/lists/pattest.lists.fhcrc.org/member/cit-sys-engineering%40fredhutch.org HTTP/1.1" 404 26 "-" "GNU Mailman REST client v3.3.1"
[29/Oct/2025:22:11:50 +0000] "GET /3.1/lists/pattest(a)lists.fhcrc.org/requests HTTP/1.1" 200 90 "-" "GNU Mailman REST client v3.3.1"
[29/Oct/2025:22:11:50 +0000] "GET /3.1/lists/pattest(a)lists.fhcrc.org/held?count=50&page=1 HTTP/1.1" 200 90 "-" "GNU Mailman REST client v3.3.1"
[29/Oct/2025:22:11:56 +0000] "GET /3.1/lists/vtn.fiscal.pattest.lists.fhcrc.org HTTP/1.1" 404 58 "-" "GNU Mailman REST client v3.3.1"
[29/Oct/2025:22:12:02 +0000] "GET /3.1/lists/vtn.fiscal.lists.fhcrc.org HTTP/1.1" 200 389 "-" "GNU Mailman REST client v3.3.1"
[29/Oct/2025:22:12:02 +0000] "GET /3.1/lists/vtn.fiscal.lists.fhcrc.org/roster/owner HTTP/1.1" 200 628 "-" "GNU Mailman REST client v3.3.1"
[29/Oct/2025:22:12:02 +0000] "GET /3.1/lists/vtn.fiscal.lists.fhcrc.org/roster/moderator HTTP/1.1" 200 90 "-" "GNU Mailman REST client v3.3.1"
[29/Oct/2025:22:12:02 +0000] "GET /3.1/lists/vtn.fiscal(a)lists.fhcrc.org/config HTTP/1.1" 200 46422 "-" "GNU Mailman REST client v3.3.1"
[29/Oct/2025:22:12:02 +0000] "GET /3.1/lists/vtn.fiscal.lists.fhcrc.org/archivers HTTP/1.1" 200 81 "-" "GNU Mailman REST client v3.3.1"
[29/Oct/2025:22:12:02 +0000] "GET /3.1/lists/vtn.fiscal.lists.fhcrc.org/archivers HTTP/1.1" 200 81 "-" "GNU Mailman REST client v3.3.1"
[29/Oct/2025:22:12:03 +0000] "GET /3.1/lists/vtn.fiscal(a)lists.fhcrc.org/requests HTTP/1.1" 200 90 "-" "GNU Mailman REST client v3.3.1"
[29/Oct/2025:22:12:03 +0000] "GET /3.1/lists/vtn.fiscal.lists.fhcrc.org/member/cit-sys-engineering%40fredhutch.org HTTP/1.1" 404 26 "-" "GNU Mailman REST client v3.3.1"
[29/Oct/2025:22:12:03 +0000] "GET /3.1/lists/vtn.fiscal(a)lists.fhcrc.org/requests HTTP/1.1" 200 90 "-" "GNU Mailman REST client v3.3.1"
[2025-10-29 22:12:03 +0000] [31] [ERROR] Socket error processing request.
Traceback (most recent call last):
File "/usr/local/lib/python3.8/site-packages/gunicorn/workers/sync.py", line 134, in handle
self.handle_request(listener, req, client, addr)
File "/usr/local/lib/python3.8/site-packages/gunicorn/workers/sync.py", line 190, in handle_request
util.reraise(*sys.exc_info())
File "/usr/local/lib/python3.8/site-packages/gunicorn/util.py", line 625, in reraise
raise value
File "/usr/local/lib/python3.8/site-packages/gunicorn/workers/sync.py", line 175, in handle_request
respiter = self.wsgi(environ, resp.start_response)
File "/usr/local/lib/python3.8/site-packages/mailman/database/transaction.py", line 50, in wrapper
rtn = function(*args, **kws)
File "/usr/local/lib/python3.8/site-packages/mailman/rest/wsgiapp.py", line 193, in __call__
return super().__call__(environ, start_response)
File "/usr/local/lib/python3.8/site-packages/falcon/api.py", line 269, in __call__
responder(req, resp, **params)
File "/usr/local/lib/python3.8/site-packages/mailman/rest/post_moderation.py", line 163, in on_get
resource = self._make_collection(request)
File "/usr/local/lib/python3.8/site-packages/mailman/rest/helpers.py", line 172, in _make_collection
entries = [self._resource_as_dict(resource)
File "/usr/local/lib/python3.8/site-packages/mailman/rest/helpers.py", line 172, in <listcomp>
entries = [self._resource_as_dict(resource)
File "/usr/local/lib/python3.8/site-packages/mailman/rest/post_moderation.py", line 153, in _resource_as_dict
resource = self._make_resource(request.id)
File "/usr/local/lib/python3.8/site-packages/mailman/rest/post_moderation.py", line 76, in _make_resource
msg = getUtility(IMessageStore).get_message_by_id(key)
File "/usr/local/lib/python3.8/site-packages/mailman/database/transaction.py", line 85, in wrapper
return function(args[0], config.db.store, *args[1:], **kws)
File "/usr/local/lib/python3.8/site-packages/mailman/model/messagestore.py", line 103, in get_message_by_id
return self._get_message(row)
File "/usr/local/lib/python3.8/site-packages/mailman/model/messagestore.py", line 95, in _get_message
with open(path, 'rb') as fp:
FileNotFoundError: [Errno 2] No such file or directory: '/opt/mailman/var/messages/LZ/OC/LZOCY4BX6FBKMLJZQKVED6AVXOUBDFXQ'
[29/Oct/2025:22:12:15 +0000] "GET /3.1/lists?advertised=true&count=0&page=1 HTTP/1.1" 200 92 "-" "GNU Mailman REST client v3.3.1"
[29/Oct/2025:22:12:15 +0000] "GET /3.1/lists?advertised=true&count=10&page=1 HTTP/1.1" 200 4353 "-" "GNU Mailman REST client v3.3.1"
[29/Oct/2025:22:12:15 +0000] "GET /3.1/domains HTTP/1.1" 200 926 "-" "GNU Mailman REST client v3.3.1"
[29/Oct/2025:22:12:15 +0000] "GET /3.1/domains/fhcrc.org HTTP/1.1" 200 193 "-" "GNU Mailman REST client v3.3.1"
[29/Oct/2025:22:12:15 +0000] "GET /3.1/domains/fredhutch.org HTTP/1.1" 200 201 "-" "GNU Mailman REST client v3.3.1"
[29/Oct/2025:22:12:15 +0000] "GET /3.1/domains/lists.fhcrc.org HTTP/1.1" 200 220 "-" "GNU Mailman REST client v3.3.1"
[29/Oct/2025:22:12:15 +0000] "GET /3.1/domains/lists.hanc.info HTTP/1.1" 200 201 "-" "GNU Mailman REST client v3.3.1"
Oct 29 22:13:20 2025 (10) ACCEPT: <DM6PR11MB4692672CB4AB8CA1AB739567D5FAA(a)DM6PR11MB4692.namprd11.prod.outlook.com>
[29/Oct/2025:22:13:33 +0000] "GET /3.1/domains HTTP/1.1" 200 926 "-" "GNU Mailman REST client v3.3.1"
[29/Oct/2025:22:13:34 +0000] "GET /3.1/domains/fhcrc.org HTTP/1.1" 200 193 "-" "GNU Mailman REST client v3.3.1"
[29/Oct/2025:22:13:34 +0000] "GET /3.1/domains/fredhutch.org HTTP/1.1" 200 201 "-" "GNU Mailman REST client v3.3.1"
[29/Oct/2025:22:13:34 +0000] "GET /3.1/domains/lists.fhcrc.org HTTP/1.1" 200 220 "-" "GNU Mailman REST client v3.3.1"
[29/Oct/2025:22:13:34 +0000] "GET /3.1/domains/lists.hanc.info HTTP/1.1" 200 201 "-" "GNU Mailman REST client v3.3.1"
[29/Oct/2025:22:13:34 +0000] "POST /3.1/lists/find HTTP/1.1" 200 2569 "-" "GNU Mailman REST client v3.3.1"
[29/Oct/2025:22:13:37 +0000] "GET /3.1/lists?count=0&page=1 HTTP/1.1" 200 93 "-" "GNU Mailman REST client v3.3.1"
[29/Oct/2025:22:13:37 +0000] "GET /3.1/lists?count=10&page=1 HTTP/1.1" 200 4441 "-" "GNU Mailman REST client v3.3.1"
[29/Oct/2025:22:13:37 +0000] "GET /3.1/domains HTTP/1.1" 200 926 "-" "GNU Mailman REST client v3.3.1"
[29/Oct/2025:22:13:37 +0000] "GET /3.1/domains/fhcrc.org HTTP/1.1" 200 193 "-" "GNU Mailman REST client v3.3.1"
[29/Oct/2025:22:13:37 +0000] "GET /3.1/domains/fredhutch.org HTTP/1.1" 200 201 "-" "GNU Mailman REST client v3.3.1"
[29/Oct/2025:22:13:37 +0000] "GET /3.1/domains/lists.fhcrc.org HTTP/1.1" 200 220 "-" "GNU Mailman REST client v3.3.1"
[29/Oct/2025:22:13:37 +0000] "GET /3.1/domains/lists.hanc.info HTTP/1.1" 200 201 "-" "GNU Mailman REST client v3.3.1"
[29/Oct/2025:22:13:37 +0000] "GET /3.1/lists/015.site.257.cergo015.site.257.cer(a)lists.fhcrc.org/config HTTP/1.1" 200 46497 "-" "GNU Mailman REST client v3.3.1"
[29/Oct/2025:22:13:37 +0000] "GET /3.1/lists/1100_labs(a)lists.fhcrc.org/config HTTP/1.1" 200 3053 "-" "GNU Mailman REST client v3.3.1"
[29/Oct/2025:22:13:37 +0000] "GET /3.1/lists/9228.dsmb.members.only(a)lists.fhcrc.org/config HTTP/1.1" 200 3082 "-" "GNU Mailman REST client v3.3.1"
[29/Oct/2025:22:13:37 +0000] "GET /3.1/lists/9292.dsmb.members.only(a)lists.fhcrc.org/config HTTP/1.1" 200 3082 "-" "GNU Mailman REST client v3.3.1"
[29/Oct/2025:22:13:37 +0000] "GET /3.1/lists/a2223dsmbdl(a)lists.fhcrc.org/config HTTP/1.1" 200 3145 "-" "GNU Mailman REST client v3.3.1"
[29/Oct/2025:22:13:37 +0000] "GET /3.1/lists/a244.ct(a)lists.fhcrc.org/config HTTP/1.1" 200 46388 "-" "GNU Mailman REST client v3.3.1"
[29/Oct/2025:22:13:37 +0000] "GET /3.1/lists/a5397.vtn603.pi.coord(a)lists.fhcrc.org/config HTTP/1.1" 200 46380 "-" "GNU Mailman REST client v3.3.1"
[29/Oct/2025:22:13:37 +0000] "GET /3.1/lists/ab.mop(a)lists.fhcrc.org/config HTTP/1.1" 200 46380 "-" "GNU Mailman REST client v3.3.1"
[29/Oct/2025:22:13:37 +0000] "GET /3.1/lists/accessdev(a)lists.fhcrc.org/config HTTP/1.1" 200 3173 "-" "GNU Mailman REST client v3.3.1"
[29/Oct/2025:22:13:37 +0000] "GET /3.1/lists/actg.site.31422.coord(a)lists.fhcrc.org/config HTTP/1.1" 200 46429 "-" "GNU Mailman REST client v3.3.1"
Oct 29 22:13:47 2025 (10) ACCEPT:
<MN2PR11MB4333B8F87B77ED1E7F83422DDDFAA(a)MN2PR11MB4333.namprd11.prod.outlook.com>
[29/Oct/2025:22:14:23 +0000] "GET /3.1/lists?count=0&page=1 HTTP/1.1" 200 93 "-" "GNU Mailman REST client v3.3.1"
[29/Oct/2025:22:14:24 +0000] "GET /3.1/lists?count=200&page=1 HTTP/1.1" 200 83390 "-" "GNU Mailman REST client v3.3.1"
[29/Oct/2025:22:14:24 +0000] "GET /3.1/domains HTTP/1.1" 200 926 "-" "GNU Mailman REST client v3.3.1"
[29/Oct/2025:22:14:24 +0000] "GET /3.1/domains/fhcrc.org HTTP/1.1" 200 193 "-" "GNU Mailman REST client v3.3.1"
[29/Oct/2025:22:14:24 +0000] "GET /3.1/domains/fredhutch.org HTTP/1.1" 200 201 "-" "GNU Mailman REST client v3.3.1"
[29/Oct/2025:22:14:24 +0000] "GET /3.1/domains/lists.fhcrc.org HTTP/1.1" 200 220 "-" "GNU Mailman REST client v3.3.1"
[29/Oct/2025:22:14:24 +0000] "GET /3.1/domains/lists.hanc.info HTTP/1.1" 200 201 "-" "GNU Mailman REST client v3.3.1"
[29/Oct/2025:22:14:24 +0000] "GET /3.1/lists/015.site.257.cergo015.site.257.cer(a)lists.fhcrc.org/config HTTP/1.1" 200 46497 "-" "GNU Mailman REST client v3.3.1"
[29/Oct/2025:22:14:24 +0000] "GET /3.1/lists/1100_labs(a)lists.fhcrc.org/config HTTP/1.1" 200 3053 "-" "GNU Mailman REST client v3.3.1"
[29/Oct/2025:22:14:24 +0000] "GET /3.1/lists/9228.dsmb.members.only(a)lists.fhcrc.org/config HTTP/1.1" 200 3082 "-" "GNU Mailman REST client v3.3.1"
[29/Oct/2025:22:14:24 +0000] "GET /3.1/lists/9292.dsmb.members.only(a)lists.fhcrc.org/config HTTP/1.1" 200 3082 "-" "GNU Mailman REST client v3.3.1"
[29/Oct/2025:22:14:24 +0000] "GET /3.1/lists/a2223dsmbdl(a)lists.fhcrc.org/config HTTP/1.1" 200 3145 "-" "GNU Mailman REST client v3.3.1"
[29/Oct/2025:22:14:24 +0000] "GET /3.1/lists/a244.ct(a)lists.fhcrc.org/config HTTP/1.1" 200 46388 "-" "GNU Mailman REST client v3.3.1"
[29/Oct/2025:22:14:24 +0000] "GET /3.1/lists/a5397.vtn603.pi.coord(a)lists.fhcrc.org/config HTTP/1.1" 200 46380 "-" "GNU Mailman REST client v3.3.1"
[29/Oct/2025:22:14:24 +0000] "GET /3.1/lists/ab.mop(a)lists.fhcrc.org/config HTTP/1.1" 200 46380 "-" "GNU Mailman REST client v3.3.1"
[29/Oct/2025:22:14:24 +0000] "GET /3.1/lists/accessdev(a)lists.fhcrc.org/config HTTP/1.1" 200 3173 "-" "GNU Mailman REST client v3.3.1"
[29/Oct/2025:22:14:24 +0000] "GET /3.1/lists/actg.site.31422.coord(a)lists.fhcrc.org/config HTTP/1.1" 200 46429 "-" "GNU Mailman REST client v3.3.1"
[29/Oct/2025:22:14:24 +0000] "GET /3.1/lists/actg.site.31422.dataqc(a)lists.fhcrc.org/config HTTP/1.1" 200 46389 "-" "GNU Mailman REST client v3.3.1"
[29/Oct/2025:22:14:24 +0000] "GET /3.1/lists/actg.site.31422.pharm(a)lists.fhcrc.org/config HTTP/1.1" 200 46428 "-" "GNU Mailman REST client v3.3.1"
[29/Oct/2025:22:14:24 +0000] "GET /3.1/lists/actg.site.31422.pi(a)lists.fhcrc.org/config HTTP/1.1" 200 46402 "-" "GNU Mailman REST client v3.3.1"
[29/Oct/2025:22:14:24 +0000] "GET /3.1/lists/actg.site.31422.reg(a)lists.fhcrc.org/config HTTP/1.1" 200 46410 "-" "GNU Mailman REST client v3.3.1"
Pat Hirayama
Pronouns: he/him/his
Systems Engineer
IT | Systems Engineering
Fred Hutchinson Cancer Center
O 206.667.4856
phirayam(a)fredhutch.org
________________________________
From: Mark Sapiro <mark(a)msapiro.net>
Sent: Wednesday, October 29, 2025 16:07
To: mailman-users(a)mailman3.org <mailman-users(a)mailman3.org>
Subject: [MM3-users] Re: "Something went wrong | Mailman REST API not available. Please restart Mailman core.
CAUTION: This email originated from outside of the organization. Do not click links or open attachments unless you recognize the sender and know the content is safe.
On 10/29/25 15:40, Hirayama, Pat wrote:
> Ah, thanks for the reply, Mark. Forgot to include Traceback:
>
> Traceback (most recent call last):
...
Thanks. These are not the normal 'core isn't running' tracebacks which
are `connection refused`. These seem to say that core is dropping the
connection without a response. What's in mailman.log from these times?
--
Mark Sapiro <mark(a)msapiro.net> The highway is for gamblers,
San Francisco Bay Area, California better use your sense - B. Dylan
_______________________________________________
Mailman-users mailing list -- mailman-users(a)mailman3.org
To unsubscribe send an email to mailman-users-leave(a)mailman3.org
https://urldefense.com/v3/__https://lists.mailman3.org/mailman3/lists/mailm…
Archived at: https://urldefense.com/v3/__https://lists.mailman3.org/archives/list/mailma…
This message sent to phirayam(a)fredhutch.org
2 months, 2 weeks
[MM3-users] Re: Newbie question 2: Rewriting issue for bounced emails
by William Oliver
On Sat, 2021-12-25 at 21:32 -0800, Mark Sapiro wrote:
>
>
> Have you added an Alias Domain for your domain?
>
> After doing that did you run `mailman aliases` or restart mailman to
> (re)generate the files.
>
> postfix_domains postfix_lmtp postfix_vmap
> postfix_domains.db postfix_lmtp.db postfix_vmap.db
>
>
> --
>
First, thanks for your patience. Two steps forward and one step back,
here. I have the interface running and I can create a list which
*does* send messages to my test recipients.
To answer your question, yes, I did all that, and that generates
postfix_domains and postfix_lmtp, but not postfix_vmap. Here's what I
got:
$more postfix_domains
# AUTOMATICALLY GENERATED BY MAILMAN ON 2021-12-26 22:29:27
#
# This file is generated by Mailman, and is kept in sync with the
binary hash
# file. YOU SHOULD NOT MANUALLY EDIT THIS FILE unless you know what
you're
# doing, and can keep the two files properly in sync. If you screw it
up,
# you're on your own.
libertyfp.org libertyfp.org
$more postfix_lmtp
# AUTOMATICALLY GENERATED BY MAILMAN ON 2021-12-26 22:29:27
#
# This file is generated by Mailman, and is kept in sync with the
binary hash
# file. YOU SHOULD NOT MANUALLY EDIT THIS FILE unless you know what
you're
# doing, and can keep the two files properly in sync. If you screw it
up,
# you're on your own.
# Aliases which are visible only in the @libertyfp.org domain.
testlist(a)libertyfp.org lmtp:[mail.libertyfp.org]:8024
testlist-bounces(a)libertyfp.org lmtp:[mail.libertyfp.org]:8024
testlist-confirm(a)libertyfp.org lmtp:[mail.libertyfp.org]:8024
testlist-join(a)libertyfp.org lmtp:[mail.libertyfp.org]:8024
testlist-leave(a)libertyfp.org lmtp:[mail.libertyfp.org]:8024
testlist-owner(a)libertyfp.org lmtp:[mail.libertyfp.org]:8024
testlist-request(a)libertyfp.org lmtp:[mail.libertyfp.org]:8024
testlist-subscribe(a)libertyfp.org lmtp:[mail.libertyfp.org]:8024
testlist-unsubscribe(a)libertyfp.org lmtp:[mail.libertyfp.org]:8024
But no postfix_vmap.
However, let me ask another question first:
When running mailman3, do I need to set up a completely different
virtual domain for it to run in? My "real" domain name is
libertyfp.org, and I'm trying to make mailman work on that domain, e.g.
"testlist(a)libertyfp.org." I'm starting to get the idea that I need to
stick a completely different domain in there for the mailinglist.
Which I can do -- I've got another two or three domain names to play
with. Is it a problem to run the mailinglist on the same domain that
the machine sits on for its regular business? A lot of the errors I'm
getting seem to be from trying to do regular mail *and* the mailinglist
on the same domain.
Now that I've installed all this stuff a couple of times, I can easily
re-install for a second virtual domain, if that's what I should be
doing.
But, on to what's not working now...
Unfortunately, I seem to have completely screwed the pooch on getting
postfix/dovecot to play nicely with respect to *receiving* mail.
First, adding "virtual_alias_domains" (and putting libertyfp.org in it)
and commenting out "virtual_mailbox_domains" resulted in postfix
ignoring all my virtual mailboxes. Mail still worked, but mail is now
being sent to /home/<user>/Maildir instead of
/home/vmail/libertyfp/<user>/Maildir -- which means that dovecot, which
looks in the virtual mailboxes, is now unaware of new mail. I suppose
I could link /home/<user>/Maildir to
/home/vmail/libertyfp.org/<user>/Maildir, but I suspect there will be
problems and it's not a real fix. But.. .a problem for another day.
Except... the same thing is happening with the mailinglist.
In mailman3:
I set up a test list (testlist(a)libertyfp.org) and added two test users
(one local and one on a different domain). They added just fine, and
both received the welcome message.
However, when I replied, both messages bounced with the error that
"testlist(a)libertyfp.org" was "user unknown in virtual alias table."
No problem, I thought. So I added:
testlist(a)libertyfp.org testlist
to /etc/postfix/virtual, and
testlist libertyfp.org/testlist/Maildir
to /etc/postfix/virtual-mailbox,
and I added testlist as a user:
$ adduser -m testlist
So, now mail from my list members goes to /home/testlist/Maildir, but
not to the mailinglist.
I also have managed to get another *different* warning, and the "there
ain't no vmap, newbie" error as well:
Dec 26 17:33:11 libertyfp systemd[1]: certbot.service: Consumed 1.041s
CPU time.
Dec 26 17:33:12 libertyfp postfix/smtpd[46453]: error: open database
/opt/mailman/mm/var/data/postfix_vmap.db: No such file or directory
Dec 26 17:33:12 libertyfp postfix/smtpd[46453]: error: unsupported
dictionary type: #hash
Dec 26 17:33:12 libertyfp postfix/smtpd[46453]: connect from
billoblog.com[162.144.108.19]
Dec 26 17:33:16 libertyfp postfix/trivial-rewrite[46479]: warning: do
not list domain libertyfp.org in BOTH virtual_alias_domains and
relay_domains
Dec 26 17:33:16 libertyfp postfix/smtpd[46453]: warning:
hash:/opt/mailman/mm/var/data/postfix_vmap is unavailable. open
database /opt/mailman/mm/var/data/postfix_vmap.db: No such file or
directory
Dec 26 17:33:16 libertyfp postfix/smtpd[46453]: warning:
hash:/opt/mailman/mm/var/data/postfix_vmap lookup error for
"fplist(a)libertyfp.org"
Dec 26 17:33:16 libertyfp postfix/smtpd[46453]: NOQUEUE: reject: RCPT
from billoblog.com[162.144.108.19]: 451 4.3.0 <fplist(a)libertyfp.org>:
Temporary lookup failure; from=<billo(a)billoblog.com>
to=<fplist(a)libertyfp.org> proto=ESMTP helo=<billoblog.com>
That "you can't have both virtual_alias_domains" and "relay_domains"
seems like it should be a clue. But I don't' know what for. Adding
virtual_alias_domains really changed things...
Anyway, here's the part of the /etc/postfix/main.cf that I think is
likely important. Note that I comments out "virtual_mailbox_domains".
myorigin = localhost
mydestination = localhost, localhost.$mydomain
alias_maps = /etc/aliases (which, by the way, just contains
"postmaster: root")
home_mailbox= Maildir
# add to the end (add ssl support)
smtpd_use_tls = yes
smtp_tls_mandatory_protocols = !SSLv2, !SSLv3
smtpd_tls_mandatory_protocols = !SSLv2, !SSLv3
smtpd_tls_cert_file = /etc/letsencrypt/live/libertyfp.org/fullchain.pem
smtpd_tls_key_file = /etc/letsencrypt/live/libertyfp.org/privkey.pem
smtpd_tls_session_cache_database = btree:${data_directory}/smtpd_scache
# add to the end (add virtual users)
# if specify multiple domains, specify comma or space separated
#virtual_mailbox_domains = libertyfp.org
virtual_mailbox_base = /home/vmail
virtual_mailbox_maps = hash:/etc/postfix/virtual-mailbox
virtual_uid_maps = static:20000
virtual_gid_maps = static:20000
# mailman3 changes
owner_request_special = no
always_add_missing_headers = yes
transport_maps = hash:/opt/mailman/mm/var/data/postfix_lmtp
local_recipient_maps = proxy:unix:passwd.byname $alias_maps
hash:/opt/mailman/mm/var/data/postfix_lmtp
relay_domains = hash:/opt/mailman/mm/var/data/postfix_domains
default_destination_recipient_limit = 30
default_destination_concurrency_limit = 15
virtual_alias_domains = hash:/etc/postfix/domains
virtual_alias_maps = hash:/opt/mailman/mm/var/data/postfix_vmap
#hash:/etc/postfix/virtual
Here's the postfix maps:
/etc/postfix/domains:
libertyfp.org #
/etc/postfix/virtual:
fp145(a)libertyfp.org fp145
mailman(a)libertyfp.org mailman
testlist(a)libertyfp.org testlist
/etc/postfix/virtual-mailbox:
mailman libertyfp.org/mailadmin/Maildir/
fp145@localhost libertyfp.org/fp145/Maildir/
testlist libertyfp.org/testlist/Maildir
4 years
[MM3-users] Re: error changed after restart
by Guillermo Hernandez (Oldno7)
On 6/2/21 21:19, Abhilash Raj wrote:
>
>
> On Sat, Feb 6, 2021 at 19:44, Guillermo Hernandez (Oldno7) via
> Mailman-users <mailman-users(a)mailman3.org> wrote:
>> On 6/2/21 18:08, Abhilash Raj wrote:
>>
>> On Sat, Feb 6, 2021, at 3:04 AM, Guillermo Hernandez (Oldno7) via
>> Mailman-users wrote:
>>
>> I restarted de server and the error changed. Now the log
>> shows "KeyError: 'subscription_mode'":
>>
>> Did you also restart Mailman Core after the upgrade?
>>
>> Yes, indeed: I stopped mailman core and all the processes related.
>> Did the upgrades. Started all again. Find the errors in the web user
>> interface. Stopped all again. Looked for errors in the log. Restarted
>> the complete server. Found the second error that this second mail is
>> about to. It happens when, in the main page that shows all the lists
>> you click to see one of them. It seems to me that it has been
>> database structure changes in django that the upgrade is not aware...
>> but it's a very long shot from my side.
> `subscription_mode` was added in Mailman Core 3.3.2 and it is actually
> a derived atrribute and not stored in Database. Mailman's API should be
> returning this attribute for each Member, but for some reason it seems
> to me like it isn't doing that even though do have Mailman 3.3.3 running
> like you said.
> If you have Curl installed, can you send me the output of:
> $ curl -u <user>:<pass> http://localhost:8001/3.1/members?count=5&page=1
This is the output you asked for (it's the same you can see when you try
to interact with one list):
/usr/local/mailman3 # curl -u XXXXXX:XXXXXX
http://localhost:8001/3.1/members?count=5&page=1
/usr/local/mailman3 # <html>
<head>
<title>Internal Server Error</title>
</head>
<body>
<h1><p>Internal Server Error</p></h1>
</body>
</html>
No log entry has been produced...
TIA.
> It should ideally return an output that looks something like shown
> here[1]. You
> can put the username/password of Core's API server in the above command.
> [1]:
> https://docs.mailman3.org/projects/mailman/en/latest/src/mailman/rest/docs/…
>
> Abhilash
>> I'm using sqlite as django database and mysql for mailman.
>>
>> ERROR 2021-02-06 11:47:49,015 26798 django.request Internal
>> Server Error:
>> /mailman3/mailman3/lists/name_and_domain.of.the.list
>> Traceback (most recent call last): File
>> "/usr/local/lib/python3.7/site-packages/mailmanclient/restbase/base.py",
>> line 119, in __getattr__ return self._get(name) File
>> "/usr/local/lib/python3.7/site-packages/mailmanclient/restbase/base.py",
>> line 86, in _get raise KeyError(key) KeyError:
>> 'subscription_mode' During handling of the above exception,
>> another exception occurred: Traceback (most recent call
>> last): File
>> "/usr/local/lib/python3.7/site-packages/django/core/handlers/exception.py",
>> line 34, in inner response = get_response(request) File
>> "/usr/local/lib/python3.7/site-packages/django/core/handlers/base.py",
>> line 115, in _get_response response =
>> self.process_exception_by_middleware(e, request) File
>> "/usr/local/lib/python3.7/site-packages/django/core/handlers/base.py",
>> line 113, in _get_response response =
>> wrapped_callback(request, *callback_args, **callback_kwargs)
>> File
>> "/usr/local/lib/python3.7/site-packages/django/views/generic/base.py",
>> line 71, in view return self.dispatch(request, *args,
>> **kwargs) File
>> "/usr/local/lib/python3.7/site-packages/postorius/views/generic.py",
>> line 74, in dispatch return super(MailingListView,
>> self).dispatch(request, *args, **kwargs) File
>> "/usr/local/lib/python3.7/site-packages/django/views/generic/base.py",
>> line 97, in dispatch return handler(request, *args,
>> **kwargs) File
>> "/usr/local/lib/python3.7/site-packages/postorius/views/list.py",
>> line 295, in get member.subscription_mode == File
>> "/usr/local/lib/python3.7/site-packages/mailmanclient/restbase/base.py",
>> line 124, in __getattr__ self.__class__.__name__, name))
>> AttributeError: 'Member' object has no attribute
>> 'subscription_mode' *********************** some info about
>> the installed versions via pip list: pip list | grep django
>> django-allauth 0.44.0
>> django-appconf 1.0.4
>> django-compressor 2.4
>> django-extensions 3.1.0
>> django-gravatar2 1.4.4
>> django-haystack 3.0
>> django-mailman3 1.3.5
>> django-picklefield 3.0.1
>> django-q 1.3.4
>> djangorestframework 3.12.2 pip list | grep mailman
>> django-mailman3 1.3.5
>> mailman 3.3.3
>> mailman-hyperkitty 1.1.0
>> mailmanclient 3.3.2 pip list | grep postorius
>> postorius 1.3.4 On 6/2/21 11:12,
>> Guillermo Hernandez (Oldno7) via Mailman-users wrote:
>>
>> I've just upgrade mailman 3 installation following Mr.
>> Sapiro advice: did a pip install --upgrade
>> django-mailman3 hyperkitty mailman mailmanclient
>> mailman-hyperkitty postorius I did a "python3 manage.py
>> migrate" after, too. And all seemed to run well. All the
>> lists showed in postorius via web, but when I try to
>> accesss into one of them the browser shows an error. In
>> the log you can see: *-*-*-*-*-*-* Traceback (most recent
>> call last): File
>> "/usr/local/lib/python3.7/site-packages/mailmanclient/restbase/base.py",
>> line 119, in __getattr__ return self._get(name)
>> File
>> "/usr/local/lib/python3.7/site-packages/mailmanclient/restbase/base.py",
>> line 86, in _get raise KeyError(key) KeyError:
>> 'get_requests_count' .. (And after all the traceback
>> lines) AttributeError: 'MailingList' object has no
>> attribute 'get_requests_count' *-*-*-*-*-*-*-* The lists
>> seem to be distributing messeages well.. but I cannot
>> acces via web administration (django/postorius) Can
>> anyone point me in the right direction to solve this,
>> please? _______________________________________________
>> Mailman-users mailing list -- mailman-users(a)mailman3.org
>> <mailto:mailman-users@mailman3.org> To unsubscribe send
>> an email to mailman-users-leave(a)mailman3.org
>> <mailto:mailman-users-leave@mailman3.org>
>> https://lists.mailman3.org/mailman3/lists/mailman-users.mailman3.org/
>> <https://lists.mailman3.org/mailman3/lists/mailman-users.mailman3org/>
>>
>>
>> _______________________________________________ Mailman-users
>> mailing list -- mailman-users(a)mailman3.org
>> <mailto:mailman-users@mailman3.org> To unsubscribe send an
>> email to mailman-users-leave(a)mailman3.org
>> <mailto:mailman-users-leave@mailman3.org>
>> https://lists.mailman3.org/mailman3/lists/mailman-users.mailman3.org/
>> <https://lists.mailman3.org/mailman3/lists/mailman-users.mailman3org/>
>>
>>
>> _______________________________________________ Mailman-users mailing
>> list -- mailman-users(a)mailman3.org
>> <mailto:mailman-users@mailman3.org> To unsubscribe send an email to
>> mailman-users-leave(a)mailman3.org
>> <mailto:mailman-users-leave@mailman3.org>
>> https://lists.mailman3.org/mailman3/lists/mailman-users.mailman3.org/
>> <https://lists.mailman3.org/mailman3/lists/mailman-users.mailman3org/>
4 years, 11 months
[MM3-users] Re: A little stuck with installation of MM3 - ModuleNotFoundError: No module named 'flufl.lock'
by Odhiambo Washington
On Wed, 29 Jul 2020 at 02:58, Mark Sapiro <mark(a)msapiro.net> wrote:
> On 7/28/20 2:34 AM, Odhiambo Washington wrote:
> >
> > So, now I remember why I had to chown -R mailman3 /opt/mailman
> > Then now it seems like I have been doing things incorrectly, because I
> have
> > been doing
> > a lot of operations as root by simply:
> > cd /opt/mailman/mm
> > virtualenv venv
> > source venv/bin/activate
> > Looks like the correct way is to start with su - mailman3
>
>
> Yes. All those things should be done as the Mailman user.
>
>
> >>> PS: There is the issue with qcluster, which doesn't seem to have been
> ...
> > I have run it from supervisord. It has forked 30 processes and refuses to
> > kill them when I stop supervisord.
> > I will look for options around it.
>
>
> I know nothing about supervisord, but there should be a parent process.
> E.g., here
>
> > msapiro@mail:~$ ps -fwwu mailman|grep qcluster
> > mailman 2885 1 0 Jul18 ? 00:00:00 /bin/bash
> /opt/mailman/mm/bin/mailman-web-django-admin qcluster
> > mailman 2889 2885 0 Jul18 ? 00:01:57
> /opt/mailman/mm/venv/bin/python /opt/mailman/mm/venv/bin/django-admin
> qcluster
> > mailman 2930 2889 0 Jul18 ? 01:21:03
> /opt/mailman/mm/venv/bin/python /opt/mailman/mm/venv/bin/django-admin
> qcluster
> > mailman 2944 2930 0 Jul18 ? 00:04:17
> /opt/mailman/mm/venv/bin/python /opt/mailman/mm/venv/bin/django-admin
> qcluster
> > mailman 2945 2930 3 Jul18 ? 07:11:14
> /opt/mailman/mm/venv/bin/python /opt/mailman/mm/venv/bin/django-admin
> qcluster
> > mailman 6467 2930 0 15:39 ? 00:00:03
> /opt/mailman/mm/venv/bin/python /opt/mailman/mm/venv/bin/django-admin
> qcluster
> > mailman 12337 2930 0 15:00 ? 00:00:07
> /opt/mailman/mm/venv/bin/python /opt/mailman/mm/venv/bin/django-admin
> qcluster
> > mailman 12639 2930 0 11:08 ? 00:00:11
> /opt/mailman/mm/venv/bin/python /opt/mailman/mm/venv/bin/django-admin
> qcluster
> > mailman 14658 2930 0 Jul27 ? 00:00:22
> /opt/mailman/mm/venv/bin/python /opt/mailman/mm/venv/bin/django-admin
> qcluster
> > mailman 15860 2930 0 01:41 ? 00:00:21
> /opt/mailman/mm/venv/bin/python /opt/mailman/mm/venv/bin/django-admin
> qcluster
> > mailman 19205 2930 0 Jul27 ? 00:00:29
> /opt/mailman/mm/venv/bin/python /opt/mailman/mm/venv/bin/django-admin
> qcluster
> > msapiro@mail:~$
>
> pid 2885 is the parent which forked 2889 which in turn forked 2930 which
> forked all the others. stopping (sigterm) 2885 in this case will stop
> them all.
>
> I have seen an issue on one server where some of the qcluster workers
> become orphaned and their parent pid is 1. These are left when I stop
> the upstart service so I have this script.
>
> #! /bin/bash
> if echo `status qcluster` | grep -q 'running' ; then
> echo qcluster is running
> exit
> fi
> ps -fwwu mailman|grep '[a]dmin qcluster'|awk '{print $2}'|xargs kill
>
> to kill them.
>
I found some obscure option for supervisord that enabled the killing of the
process(es).
Obscure because it's not documented in the sample configuration for
supervisord, but it's out there in the wild.
> > PS: Did you by any chance find time to look into the issue about wsgi.py
> > that you had mentioned - the one that has me
> > stuck using it??
>
> If you're referring to the issue at the end of
> <
> https://lists.mailman3.org/archives/list/mailman-users@mailman3.org/message…
> >,
> I think that was caused by your not having the __init__.py file in
> /opt/mailman/mm/.
>
> If not, I probably need more information.
>
Yes, the same problem.
I created the file __init__.py in /opt/mailman/mm
However, when I run using the wsgi.py I ended up (still do!) with the error:
[Wed Jul 29 10:08:51.869144 2020] [wsgi:info] [pid 79132] [remote
197.232.81.246:64709] mod_wsgi (pid=79132, process='mailman-web',
application='mm3-lists.server.name|/mm3'): Loading Python script file
'/opt/mailman/mm/wsgi.py'.
[Wed Jul 29 10:08:51.872461 2020] [wsgi:error] [pid 79132] [remote
197.232.81.246:64709] mod_wsgi (pid=79132): Failed to exec Python script
file '/opt/mailman/mm/wsgi.py'.
[Wed Jul 29 10:08:51.872507 2020] [wsgi:error] [pid 79132] [remote
197.232.81.246:64709] mod_wsgi (pid=79132): Exception occurred processing
WSGI script '/opt/mailman/mm/wsgi.py'.
[Wed Jul 29 10:08:51.872754 2020] [wsgi:error] [pid 79132] [remote
197.232.81.246:64709] Traceback (most recent call last):
[Wed Jul 29 10:08:51.872827 2020] [wsgi:error] [pid 79132] [remote
197.232.81.246:64709] File "/opt/mailman/mm/wsgi.py", line 38, in <module>
[Wed Jul 29 10:08:51.872835 2020] [wsgi:error] [pid 79132] [remote
197.232.81.246:64709] application = get_wsgi_application()
[Wed Jul 29 10:08:51.872847 2020] [wsgi:error] [pid 79132] [remote
197.232.81.246:64709] File
"/opt/mailman/mm/venv/lib/python3.7/site-packages/Django-3.0.8-py3.7.egg/django/core/wsgi.py",
line 12, in get_wsgi_application
[Wed Jul 29 10:08:51.872852 2020] [wsgi:error] [pid 79132] [remote
197.232.81.246:64709] django.setup(set_prefix=False)
[Wed Jul 29 10:08:51.872862 2020] [wsgi:error] [pid 79132] [remote
197.232.81.246:64709] File
"/opt/mailman/mm/venv/lib/python3.7/site-packages/Django-3.0.8-py3.7.egg/django/__init__.py",
line 19, in setup
[Wed Jul 29 10:08:51.872868 2020] [wsgi:error] [pid 79132] [remote
197.232.81.246:64709] configure_logging(settings.LOGGING_CONFIG,
settings.LOGGING)
[Wed Jul 29 10:08:51.872878 2020] [wsgi:error] [pid 79132] [remote
197.232.81.246:64709] File
"/opt/mailman/mm/venv/lib/python3.7/site-packages/Django-3.0.8-py3.7.egg/django/conf/__init__.py",
line 76, in __getattr__
[Wed Jul 29 10:08:51.872884 2020] [wsgi:error] [pid 79132] [remote
197.232.81.246:64709] self._setup(name)
[Wed Jul 29 10:08:51.872893 2020] [wsgi:error] [pid 79132] [remote
197.232.81.246:64709] File
"/opt/mailman/mm/venv/lib/python3.7/site-packages/Django-3.0.8-py3.7.egg/django/conf/__init__.py",
line 63, in _setup
[Wed Jul 29 10:08:51.872899 2020] [wsgi:error] [pid 79132] [remote
197.232.81.246:64709] self._wrapped = Settings(settings_module)
[Wed Jul 29 10:08:51.872909 2020] [wsgi:error] [pid 79132] [remote
197.232.81.246:64709] File
"/opt/mailman/mm/venv/lib/python3.7/site-packages/Django-3.0.8-py3.7.egg/django/conf/__init__.py",
line 142, in __init__
[Wed Jul 29 10:08:51.872914 2020] [wsgi:error] [pid 79132] [remote
197.232.81.246:64709] mod =
importlib.import_module(self.SETTINGS_MODULE)
[Wed Jul 29 10:08:51.872923 2020] [wsgi:error] [pid 79132] [remote
197.232.81.246:64709] File
"/usr/local/lib/python3.6/importlib/__init__.py", line 126, in import_module
[Wed Jul 29 10:08:51.872929 2020] [wsgi:error] [pid 79132] [remote
197.232.81.246:64709] return _bootstrap._gcd_import(name[level:],
package, level)
[Wed Jul 29 10:08:51.872938 2020] [wsgi:error] [pid 79132] [remote
197.232.81.246:64709] File "<frozen importlib._bootstrap>", line 994, in
_gcd_import
[Wed Jul 29 10:08:51.872949 2020] [wsgi:error] [pid 79132] [remote
197.232.81.246:64709] File "<frozen importlib._bootstrap>", line 971, in
_find_and_load
[Wed Jul 29 10:08:51.872960 2020] [wsgi:error] [pid 79132] [remote
197.232.81.246:64709] File "<frozen importlib._bootstrap>", line 953, in
_find_and_load_unlocked
[Wed Jul 29 10:08:51.872984 2020] [wsgi:error] [pid 79132] [remote
197.232.81.246:64709] ModuleNotFoundError: No module named 'settings'
--
Best regards,
Odhiambo WASHINGTON,
Nairobi,KE
+254 7 3200 0004/+254 7 2274 3223
"Oh, the cruft.", grep ^[^#] :-)
5 years, 5 months