Re: MM2 to MM3 on debian 10
by Gelpi Andrea
Il 27/04/20 18:59, Mark Sapiro ha scritto:
> On 4/27/20 8:26 AM, Gelpi Andrea wrote:
>> Hi, on a debian 10 with MM3 I'm trying to migrate form some old MM2
>> mailing lists. I know that not all can work.
>>
>> In my old lists I have email and regular expressions in
>> reject_these_nonmembers and discard_these_nonmembers
>>
>> After importing the list all these email are in non member list.
>>
>> All these email have Delivery status enabled.
>
>
> Delivery status is not relevant for non-members and only has to do with
> receiving list posts in any case.
>
> What version of Mailman core is this? There have been changes in
> `mailman import21` that may affect this, but an address in
> `reject_these_nonmembers` should be imported as a non-member with a
> moderation action of `reject` and similarly for `discard`.
>
> Note that regexps in *_these_nonmembers should be imported into the MM 3
> legacy *_these_nonmembers attributes. Some older versions of import21
> also imported non-regexp addresses here, but that was wrong.
>
Mailman V 3.2.1
Python V 3.7.3
Postorius V 1.3.2
Hiperkitty V 1.2.2
Yes reject_these_nonmembers has a moderation action of 'reject' and the
some for discard.
>
>> Does this mean that all of them will receive any message sent to the list?
>> The moderation rule is correct, but if I understood correct Delivery
>> status should be disabled.
>
>
> Delivery status is irrelevant for non-members. Only members are
> candidates for delivery.
>
Ok, but will non-members receive the list posts or only members will?
>
>> For migration I followed this link
>> https://docs.mailman3.org/en/latest/migration.html
>>
>> To migrate archives it states to run
>>
>> python manage.py hyperkitty ...
>>
>> I cant' find a manage.py on debian 10
>
>
> manage.py is a Django generic term for the Django admin command. You
> probably want something called django-admin or similar.
>
Yes in debain 10 exists django-admin.
Now I need to understand how to use it. It asks me to load a configuration.
>
>> A search shows the only /usr/share/mailman3-web/manage.py exists.
>>
>> Is there any documentation specific for debian?
>
> That would be up to Debian.
>
--
Gelpi ing. Andrea
--------------------------------------------------------------
It took the computing power of three C-64s to fly to the Moon.
It takes a 486 to run Windows 95. Something is wrong here.
--------------------------------------------------------------
4 years, 6 months
Re: Archive Policy not reflecting in Hyperkitty
by Abhilash Raj
On Fri, May 3, 2019, at 8:38 AM, Nathan Dixon wrote:
> So the issue I am seeing is that when I set a lists archive policy to
> prviate, it isn't reflecting that in Hyperkitty.
>
> I am running the docker installation of Mailman, postorius and hyperkitty.
> So I go into the docker instance of mailman-core and run this:
>
> python3 manage.py shell from hyperkitty.models.mailinglist import
> MailingList MailingList.objects.all().values_list('name', 'archive_policy')
>
> And all my lists are showing '2', regardless of how I set the mailing list
> archive policy.
>
> This might be a duplicate of
> https://lists.mailman3.org/archives/list/mailman-users@mailman3.org/thread/…
>
> Am I missing something in my install? Or is this a bug?
It can take upto an hour for this change to reflect in Hyperkitty. Did you wait
for that long?
This happens because Hyperkitty stores it's own data, and queries Mailman
Core periodically to fetch updates every hour. In future, we might be able to
do this in more realtime fashion by using an event based pub/sub model. But,
we are not there yet.
>
> Many thanks for your attention,
>
> --
>
> *Nathan Dixon* MEng
> Senior Software Architect
> m: +44 (0)7402 690311
>
> t: +44 (0)20 81231252
> e: nathan.dixon(a)evadon.com
> w: www.evadon.com
>
> This e-mail and any attachments are confidential and may be protected by
> legal, professional or other privilege. If you are not the intended
> recipient you should not store it, copy it, re-transmit it, use it or
> disclose its contents, but should return it to the sender immediately and
> delete your copy from your system. The views expressed are those of the
> sender and not necessarily those of Evadon. Please note that whilst we scan
> all e-mails for viruses we cannot guarantee that any e-mail is virus-free.
> Please be advised that we expressly reserve the right to monitor email
> content for the purposes of ensuring compliance with legal requirements and
> company policies and your sending to, or receiving from, us of any email
> constitutes your agreement to these terms.
>
>
> Evadon Dynamics Limited, registered in England No. 09494097. Registered
> Office: Electric Works, Sheffield Digital Campus, 3 Concourse Way, Sheffield,
> S1 2BJ
> _______________________________________________
> 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/
>
--
thanks,
Abhilash Raj (maxking)
5 years, 6 months
Re: Migrating Mailman 3 lists
by Andrew Hodgson
Abhilash Raj wrote:
>On Mon, Apr 27, 2020, at 9:05 AM, Andrew Hodgson wrote:
[Moving Mailman to new server]
>> I did this the other week, the difference I think we've got here is
>> that I migrated the whole instance (Mailman Core's var files plus
>> complete Postgresql database) over to the new server rather than
>> trying to add the lists to an existing setup, which I couldn't work
>> out either which is what prompted me to complete the server migration
>> before adding more lists.
>> The only issue I ran into was not copying the Mailman Core var files
>> to the new server, this actually gave me a bit of trouble later on as
>> firstly Mailman doesn't create the lists directory which is what I was
>> checking with Exim for list existence, and also I had an issue where I
>> was missing a moderated message from the messages directory which
>> stopped the admin interface from displaying for that list.
>var/ directory does store some state for Mailman, specifically queued messages. Optionally, also templates. Directory structure is something that could be fixed with this issue[1], but given that the messages are still stored on the >filesystem instead of database, you'd need to move var/ directory too.
I would say that the var directory structure is essential to keep if possible between servers. I don't really want to fix the issue where I couldn't access a list because of old pending messages that were no longer available. I fixed it in the end by creating pickles with the same name, and then just deleting the messages from the web interface. The problem was happening because Postorius was trying to get the list of held messages to show on the admin interface, this caused Mailman REST interface to throw an exception.
I was going to post on here but figured it out in the end.
Another issue though stemming from this is that when I was moving the data across I had several messages in the var/messages directory structure and my incorrect assumption was that they were old held messages which weren't deleted. There were around 60 messages in that folder structure and I actually only needed to recover 2 of them to get the list on track, I forgot to check that the user had cleared their held messages. Even now when I deleted the fake messages I put there in the web interface, the files are still now on the server in that structure.
Andrew.
4 years, 7 months
Re: How to delete non-users
by Mark Sapiro
On 9/16/22 16:40, Allan Hansen wrote:
> Hi Mark,
>
> Thank you for looking into it.
>
> We are very strict about memberships, which we are because of spam, bots and malicious contributors and because we don't want anyone to think that our lists are used for spam:
>
> When a user applies, the server sends a message to the moderator.
> The moderator communicates with the potential member and accepts or does not accept the application.
So Subscription policy is Moderate or Confirm, then moderate.
> At this point, if the user has not been accepted, but tried to send a message to the list, a non-member membership is created.
Yes. This is expected.
> When he/she logs in to list his/her account, the list to which he/she holds non-memberships will be listed and the user will think that he/she has been properly subscribed (why else are the lists listed).
I'm guessing you are talking about the
https://www.example.com/mailman3/accounts/subscriptions/ page. On that
page, all membership roles (owner, moderator, member, nonmember) are listed.
Note that if the user goes instead to info page for the list,
appropriate pronoun will be presented with a subscribe form.
> Noone notices the column that shows the role as 'nonmember.' So he/she thinks that the subscription request has been accepted, but nothing is working. That's why the 'non-member' record is an issue. I also don't see why non-members are automatically added, filling up the database with junk (at least from our point of view, with all respect).
That's the way Mailman 3 is designed. Changing it would be a major
undertaking.
Consider the case where default nonmember action is hold rather than
discard. Then when handling a nonmember post, the moderator can set the
nonmember's moderation to default processing to essentially accept
future posts from that nonmember if the nonmember has a legitimate
reason to post, or to discard if the nonmember is a spammer.
If you think it would help, you might consider colorizing the roles on
that page so perhaps nonmember could be in red. This should be a simple
patch to Postorius.
> But our lists don't accept messages from non-members. Such messages are quietly discarded, as most are spam, as mentioned above.
> So now the user is neither getting emails from the lists nor is unable to send messages to the list.
> The next step for the user is to complain to me. ☹
Why didn't you (or the moderator) accept the held subscription at the
beginning?
> I have looked for a template that could be used to warn someone when he/she is added as a non-member, but did not find one. It's also not clear that I'd want one, as most of these non-subscriptions are by spammers and I prefer not to reply to spammers. __
>
> I tried your suggestion below, Mark.
> Here's my transcript:
>
> **********
> Welcome to the GNU Mailman shell
> Use commit() to commit changes.
> Use abort() to discard changes since the last commit.
> Exit with ctrl+D does an implicit commit() but exit() does not.
>
>>>> lm = getUtility(IListManager)
>>>> for l in lm:
> ... for nm in l.nonmembers.members:
> ... nm.unsubscribe()
> ...
>>>>
> **********
> I did this twice, once with commit() and once typing ctrl/d (ctrl/D) just gave me a beep.
> Calling commit() did not return to the ... as in your example, but showed the >>> prompt, so I tried ctrl/D (beep) and then ctrl/d (exit).
My example did not show a `...` in response to commit(). Commit() was
followed by three backticks which is markup for the end if the literal
text. The >>> following commit() is expected.
Either calling commit() explicitly or exiting with ctrl-D should commit
the changes.
> I then went to the Postorius page for one of the lists and found that all the non-members were still present.
I don't know why this would be. I tested that script and it worked for me.
My original point is the presence of a nonmember role should not prevent
the user from subscribing. If there is an issue with subscribing it is
probably because of the outstanding subscription request waiting
moderator approval.
I understand that you would like the nonmember role to disappear, but
that isn't going to happen in the distribution, and I can't undertake
the extensive effort required to figure out how you can do it for your site.
--
Mark Sapiro <mark(a)msapiro.net> The highway is for gamblers,
San Francisco Bay Area, California better use your sense - B. Dylan
2 years, 2 months
Re: Mailman, etc. upgrade woes and persistent bugs
by Stephen J. Turnbull
Abhilash Raj writes:
> The is definitely a bug, caused due to the fact that "Delivery Status" field
> only has two options, "Enabled" and "Disabled". Internally, this field can
> have 4 values, "enabled", "by_user" (maps to "Disabled" in Postorius),
> "by_admin" (means disabled by admin) and "by_bounces" (means
> disabled due to bounces). So, when the value of the field is among
> the last two options, it appears as "unset" with no options selected,
> which unfortunately is also how it looks by default since all options
> are "unset" from start.
>
> The "fix" for this issue would be simply adding a new choice to the
> delivery_status field with a caveat that it is only a Readonly option to
I don't see why most users would care (there will always be somebody
who cares "just because", of course). For those who don't care, I
expect it will be confusing. I think it's better just to treat all of
the disabled settings as just "disabled" in the UI for members.
> We could also go a step further and show it on the List's info page
> when their delivery is disabled due to excessive bounce and allow
> the them to re-enable it themselves without admin intervention.
This is probably a good idea, but in a situation where we know the
problem is excessive bouncing we should caution them that there is
almost certainly a probably with delivery *to their specific address*
and that Mailman and the admins *can do nothing about that*, so if
that isn't fixed they'll just get disabled again. I suppose it would
be good to add that frequently these are due to occasional problems
like disk full that "management" at their site normally takes care of,
so there's little if any harm to just reenabling.
> to the list's info page, but I guess that is the first place you'd go to
> debug when you get an email that your delivery was disabled?
Surely we can help them go directly there?
> https://gitlab.com/mailman/postorius/-/issues/470
>
> I don't know if there are any downsides to letting users re-enable
> their delivery on their own.
I don't see any myself. Maybe if the list is planning a surprise
party for them? ;-)
There is a specific downside, which is that if you only allow them to
reenable if they disabled it themselves, you have to show them the
other cases.
3 years, 9 months
Re: Python is updated
by Duane Raymond
Hi Lars,
I did the same thing this weekend (upgraded mailman to latest and python
from 3.7 to 3.11) as part of a process to do some work I've promised Mark
:-)
Here are my notes (to I can repeat it next time). I'm on Debian 10. My
mailman install is based on Brian Carpenters install notes:
https://wiki.list.org/DOC/Howto_Install_Mailman3_On_Debian10
0) IF UPGRADING: copy /static folder, /venv folder and base config files to
new backup folder (e.g. config_bak)
1) Install desired python e.g 3.11 (from source if necessary) and be sure
to include:
apt install libreadline-gplv2-dev libncursesw5-dev libssl-dev
libsqlite3-dev tk-dev libgdbm-dev libc6-dev libbz2-dev
2) IF UPGRADING: Stop the mailman related services: systemctl stop mailman
qcluster gunicorn
3) Create local venv at: python3.11 -m venv /opt/mailman/mm/venv (backup
old one first to backup folder)
4) Set ownership of venv folder and subfolders/files: chown -R
mailman.mailman venv
5) Switch to owner: su mailman
6) Activate venv: source /opt/mailman/mm/venv/bin/activate
7) Check pip uses the intended python version: pip -V
8) Upgrade PIP if necessary: pip install --upgrade pip
9) Install mailman3 basics: pip install --upgrade mailman hyperkitty
postorius
10) Install additional if missing: pip install --upgrade django-mailman3
mailmanclient mailman-hyperkitty
11) Install DB connector: pip install pylibmc psycopg2 python3-psycopg2
python3-pil python3-psycopg2 whoosh python3-whoosh python3-httplib2
12) Update /opt/mailman/mm/urls.py with desired paths (django)
13) IF UPGRADING RUN: bin/django-admin migrate
PLUS: bin/mailman-post-update (or individually below)
bin/django-admin collectstatic --clear --noinput --verbosity 0
bin/django-admin compress
bin/django-admin compilemessages
13) Exit venv environment: deactivate and Exit mailman user: exit
14) Start mailman: systemctl start mailman (check status: systemctl
status mailman.service)
15) Start qrunner: systemctl start qcluster (check status: systemctl
status qcluster.service)
16) Start gunicorn: systemctl start gunicorn (check status: systemctl
status gunicorn.service)
Note:
1. /django-admin is the same as /mailman-web in some installation notes.
2. The bin/mailman-post-update script Brian used does everything except
the "migrate" step
3. I don't know if all the pip psycopg2/whoosh modules are needed - I
didn't take the chance.
4. My system now uses django 4.1.8 so I didn't need to worry about the
psycopg2-binary install (I don't think I did - it seems to all work)
5. The 3.8 release notes contain a breaking change with the postgresql
connection command. I changed that before upgrading. (assuming you are
using postgresql!)
6. What I haven't covered here is checking the autostart, service
settings and crons are working as that is in the documentation and may
already/still be running on your server.
Hope that helps :-)
Cheers,
Duane
1 year, 7 months
Re: Mailman archive issues (Hyperkitty)
by Kimmo L
Hi!
I'm very grateful for your help :)
Okay, sorry about that. I will try to give more information now.
We use https://gitlab.com/mailman/mailman-suite to set up mailman with postorius and hyperkitty.
Additional we use NGINX web server and postgresql database.
Settings.py configuration are basically same with this - https://gitlab.com/mailman/mailman-suite/-/blob/master/mailman-suite_projec…
The only differences are:
*In database section we use postgresql configuration
*Social accounts configuration is disabled
*Haystack connections we use xapian_backend.XapianEngine engine
Here is also our mailman.cfg:
[database]
class: mailman.database.postgresql.PostgreSQLDatabase
url: postgres://mailman:xxxxxx@localhost/mailman
[paths.custom]
bin_dir: /usr/local/bin
var_dir: /var/lib/mailman
queue_dir: /var/spool/mailman
log_dir: /var/log/mailman
lock_dir: /var/lock/mailman
etc_dir: /etc
ext_dir: /etc/mailman.d
pid_file: /var/run/mailman/master.pid
[mailman]
layout: custom
site_owner: xxxx
anonymous_list_keep_headers:
[mta]
*****
[loggin.archiver]
path: archiver.log
level: debug
[archiver.hyperkitty]
class: mailman_hyperkitty.Archiver
enable: yes
configuration: /etc/hyperkitty.cfg
clobber_date: maybe
clobber_skew: 1d
Here is our uwsgi.ini:
# /etc/uwsgi.ini
[uwsgi]
uid = uwsgi
gid = uwsgi
pidfile = /run/uwsgi/uwsgi.pid
emperor = /etc/uwsgi.d
stats = /run/uwsgi/stats.sock
chmod-socket = 660
emperor-tyrant = true
cap = setgid,setuid
buffer-size = 32000
# process limits
limit-as = 512
# Mailman settings
plugins = python36,logfile
master = true
process = 2
threads = 2
chdir = /opt/mailman-suite/mailman-suite_project/
wsgi-file = wsgi.py
uwsgi-socket = 0.0.0.0:8000
attach-daemon = ./manage.py qcluster
# Logging
req-logger = file:/var/log/uwsgi/uwsgi.log
logger = cron file:/var/log/uwsgi/uwsgi-cron.log
log-route = cron uwsgi-cron
logger = qcluster file:/var/log/uwsgi/uwsgi-qcluster.log
log-route = qcluster uwsgi-daemons
logger = file:/var/log/uwsgi/uwsgi-error.log
It seems that we have some perfomance issues on webUI, if we try to check archived messages.
Some lists, that contains low number of archives is not a problem but lists, that contains several thousand messages and grows faster are issue. Sometimes it loads so long, that i get "504 Gateway Time-Out"
I was also monitoring server perfomance and i didnt see any issues on that side. It seems that there might be some issues to read archived messages from database. But this is just my one opinion.
I also debugged log files and found some error messages:
1) mailmansuite.log -> django.db.utils.DatabaseError: out of memory for query result
# it happens when i try to open a lists in webui, to check archived messages.
nginx-error.log -> upstream timed out (110: Connection timed out) while reading response header from upstream
# also happens when i try to open list in hyperkitty and it takes long time to open
If any information is more needed then let me know. My one thought was also, that maybe i need to try rebuild_indexes.
3 years, 5 months
Re: Archive Policy not reflecting in Hyperkitty
by Nathan Dixon
Hi,
I have removed the docker images and pulled the version tagged as 0.2.
$ docker pull quay.io/maxking/mailman-web:0.2
$ docker pull quay.io/maxking/mailman-core:0.2
Unfortunately I am still getting the error message when trying to run the
sync_mailman job manually:
# python3 manage.py runjob sync_mailman
Also running docker-compose up (without -d) I am seeing these errors for
each of the lists that currently exist:
database_1 | ERROR: null value in column "description" violates
not-null constraint
database_1 | DETAIL: Failing row contains (2,
<listname>@<domain>.com, OMA-COM, null, [OMA-COM], 1, 2019-02-25
13:30:03.868072+00, <listuri>).
database_1 | STATEMENT: UPDATE "hyperkitty_mailinglist" SET "name" =
'<listname>@<domain>.com', "list_id" = '<listuri>', "display_name" =
'<LISTNAME>', "description" = NULL, "subject_prefix" = '[<LISTNAME>]',
"archive_policy" = 1, "created_at" =
'2019-02-25T13:30:03.868072+00:00'::timestamptz WHERE
"hyperkitty_mailinglist"."id" = 2
database_1 | ERROR: null value in column "description" violates
not-null constraint
All of the lists do have description that I can see in the Postorius
interface.
Thanks
On Tue, 7 May 2019 at 16:06, Abhilash Raj <maxking(a)asynchronous.in> wrote:
> Are you using images with "rolling" tags?
>
> If yes, you should try to switch to "0.2" tag and the new release will be
> tagged with the same one.
>
> To update, you can do:
>
> $ docker pull ...
> $ docker pull ..
>
> $ docker-compose stop
> $ docker-compose rm
> $ docker-compose up -d
>
> This should basically get you up and running with the new image you pulled.
>
>
> --
> thanks,
> Abhilash Raj (maxking)
>
>
>
--
*Nathan Dixon* MEng
Senior Software Architect
m: +44 (0)7402 690311
t: +44 (0)20 81231252
e: nathan.dixon(a)evadon.com
w: www.evadon.com
This e-mail and any attachments are confidential and may be protected by
legal, professional or other privilege. If you are not the intended
recipient you should not store it, copy it, re-transmit it, use it or
disclose its contents, but should return it to the sender immediately and
delete your copy from your system. The views expressed are those of the
sender and not necessarily those of Evadon. Please note that whilst we scan
all e-mails for viruses we cannot guarantee that any e-mail is virus-free.
Please be advised that we expressly reserve the right to monitor email
content for the purposes of ensuring compliance with legal requirements and
company policies and your sending to, or receiving from, us of any email
constitutes your agreement to these terms.
Evadon Dynamics Limited, registered in England No. 09494097. Registered
Office: Electric Works, Sheffield Digital Campus, 3 Concourse Way, Sheffield,
S1 2BJ
5 years, 6 months
Internal Server Error: /mailman3/accounts/fedora/login/
by Mohsen Masoudfar
Hi,
I am getting the following errors starting some days ago. It is unclear to me what is causing this. I searched internet, there are some similar reports that mention bugs causing this. I am running mailman3 as Ubuntu 18 package and they do not provide any update for this.
Internal Server Error: /mailman3/accounts/fedora/login/
ProgrammingError at /accounts/fedora/login/ relation "socialaccount_openidstore" does not exist LINE 1: SELECT COUNT(*) AS "__count" FROM "socialaccount_openidstore...
^
Request Method: GET
Request URL: https://nam12.safelinks.protection.outlook.com/?url=https%3A%2F%2Flistserv2…
Django Version: 1.11.11
Python Executable: /usr/bin/uwsgi-core
Python Version: 2.7.17
Python Path: ['.', '', '/usr/lib/python2.7', '/usr/lib/python2.7/plat-x86_64-linux-gnu', '/usr/lib/python2.7/lib-tk', '/usr/lib/python2.7/lib-old', '/usr/lib/python2.7/lib-dynload', '/usr/local/lib/python2.7/dist-packages', '/usr/lib/python2.7/dist-packages']
Server time: Tue, 27 Dec 2022 11:01:12 -0500 Installed Applications:
('hyperkitty',
'postorius',
'django_mailman3',
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.sites',
'django.contrib.messages',
'django.contrib.staticfiles',
'rest_framework',
'django_gravatar',
'paintstore',
'compressor',
'haystack',
'django_extensions',
'django_q',
'allauth',
'allauth.account',
'allauth.socialaccount',
'django_mailman3.lib.auth.fedora')
Installed Middleware:
('django.contrib.sessions.middleware.SessionMiddleware',
'django.middleware.common.CommonMiddleware',
'django.middleware.csrf.CsrfViewMiddleware',
'django.middleware.locale.LocaleMiddleware',
'django.contrib.auth.middleware.AuthenticationMiddleware',
'django.contrib.auth.middleware.SessionAuthenticationMiddleware',
'django.contrib.messages.middleware.MessageMiddleware',
'django.middleware.clickjacking.XFrameOptionsMiddleware',
'django.middleware.security.SecurityMiddleware',
'django_mailman3.middleware.TimezoneMiddleware',
'postorius.middleware.PostoriusMiddleware')
Traceback:
File "/usr/lib/python2.7/dist-packages/django/core/handlers/exception.py" in inner
41. response = get_response(request)
File "/usr/lib/python2.7/dist-packages/django/core/handlers/base.py" in _legacy_get_response
249. response = self._get_response(request)
File "/usr/lib/python2.7/dist-packages/django/core/handlers/base.py" in _get_response
187. response = self.process_exception_by_middleware(e, request)
File "/usr/lib/python2.7/dist-packages/django/core/handlers/base.py" in _get_response
185. response = wrapped_callback(request, *callback_args, **callback_kwargs)
File "/usr/lib/python2.7/dist-packages/django/views/generic/base.py" in view
68. return self.dispatch(request, *args, **kwargs)
File "/usr/lib/python2.7/dist-packages/django/views/generic/base.py" in dispatch
88. return handler(request, *args, **kwargs)
File "/usr/lib/python2.7/dist-packages/django_mailman3/lib/auth/fedora/views.py" in get
59. return self.post(request, *args, **kwargs)
File "/usr/lib/python2.7/dist-packages/django_mailman3/lib/auth/fedora/views.py" in post
72. auth_request = client.begin(form.cleaned_data['openid'])
File "/usr/lib/python2.7/dist-packages/openid/consumer/consumer.py" in begin
353. return self.beginWithoutDiscovery(service, anonymous)
File "/usr/lib/python2.7/dist-packages/openid/consumer/consumer.py" in beginWithoutDiscovery
376. auth_req = self.consumer.begin(service)
File "/usr/lib/python2.7/dist-packages/openid/consumer/consumer.py" in begin
598. assoc = self._getAssociation(service_endpoint)
File "/usr/lib/python2.7/dist-packages/openid/consumer/consumer.py" in _getAssociation
1158. assoc = self.store.getAssociation(endpoint.server_url)
File "/usr/lib/python2.7/dist-packages/allauth/socialaccount/providers/openid/utils.py" in getAssociation
96. if stored_assocs.count() == 0:
File "/usr/lib/python2.7/dist-packages/django/db/models/query.py" in count
364. return self.query.get_count(using=self.db)
File "/usr/lib/python2.7/dist-packages/django/db/models/sql/query.py" in get_count
504. number = obj.get_aggregation(using, ['__count'])['__count']
File "/usr/lib/python2.7/dist-packages/django/db/models/sql/query.py" in get_aggregation
485. result = compiler.execute_sql(SINGLE)
File "/usr/lib/python2.7/dist-packages/django/db/models/sql/compiler.py" in execute_sql
899. raise original_exception
Exception Type: ProgrammingError at /accounts/fedora/login/ Exception Value: relation "socialaccount_openidstore" does not exist LINE 1: SELECT COUNT(*) AS "__count" FROM "socialaccount_openidstore...
^
Request information:
USER: AnonymousUser
GET:
process = u'login'
next = u'/mailman3/hyperkitty/list/sec_g_zoom(a)listserv2.aaas.org/message/new'
POST: No POST data
FILES: No FILES data
COOKIES: No cookie data
META:
CONTEXT_DOCUMENT_ROOT = '/var/www/html'
CONTEXT_PREFIX = ''
DOCUMENT_ROOT = '/var/www/html'
GATEWAY_INTERFACE = 'CGI/1.1'
HTTPS = 'on'
HTTP_ACCEPT = '*/*'
HTTP_ACCEPT_ENCODING = 'gzip, deflate, br'
HTTP_CONNECTION = 'keep-alive'
HTTP_FROM = 'googlebot(at)googlebot.com'
HTTP_HOST = 'listserv2.aaas.org'
HTTP_USER_AGENT = 'Googlebot/2.1 (+https://nam12.safelinks.protection.outlook.com/?url=http%3A%2F%2Fwww.google.com%2Fbot.html&data=05%7C01%7Cmmasoudf%40aaas.org%7Cc767333920c94048355708dae823947a%7C2eebd8ff9ed140f0a15638e5dfb3bc56%7C0%7C0%7C638077536774767693%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=8%2F5tgjkoHnu%2BWaHwrNVRzcJUh%2BcQ9%2BFUkmB3psMzKMU%3D&reserved=0)'
PATH = '/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/snap/bin'
PATH_INFO = u'/accounts/fedora/login/'
QUERY_STRING = 'process=login&next=%2Fmailman3%2Fhyperkitty%2Flist%2Fsec_g_zoom%40listserv2.aaas.org%2Fmessage%2Fnew'
REMOTE_ADDR = '66.249.66.53'
REMOTE_PORT = '37189'
REQUEST_METHOD = 'GET'
REQUEST_SCHEME = 'https'
REQUEST_URI = '/mailman3/accounts/fedora/login/?process=login&next=%2Fmailman3%2Fhyperkitty%2Flist%2Fsec_g_zoom%40listserv2.aaas.org%2Fmessage%2Fnew'
SCRIPT_FILENAME = 'proxy:uwsgi://localhost//accounts/fedora/login/'
SCRIPT_NAME = u'/mailman3'
SERVER_ADDR = '172.24.9.130'
SERVER_ADMIN = 'mmasoudf(a)aaas.org'
SERVER_NAME = 'listserv2.aaas.org'
SERVER_PORT = '443'
SERVER_PROTOCOL = 'HTTP/1.1'
SERVER_SIGNATURE = '<address>Apache/2.4.29 (Ubuntu) Server at listserv2.aaas.org Port 443</address>\n'
SERVER_SOFTWARE = 'Apache/2.4.29 (Ubuntu)'
SSL_TLS_SNI = 'listserv2.aaas.org'
uwsgi.core = 0
uwsgi.node = 'listserv2'
uwsgi.version = '2.0.15-debian'
wsgi.errors = <open file 'wsgi_errors', mode 'w' at 0x7fdfa1c748a0> wsgi.file_wrapper = ''
wsgi.input = <uwsgi._Input object at 0x7fdfa1ccc710> wsgi.multiprocess = False wsgi.multithread = True wsgi.run_once = False wsgi.url_scheme = 'https'
wsgi.version = u'(1, 0)'
Settings:
Using settings module settings
ABSOLUTE_URL_OVERRIDES = {}
ACCOUNT_AUTHENTICATION_METHOD = 'username_email'
ACCOUNT_DEFAULT_HTTP_PROTOCOL = 'https'
ACCOUNT_EMAIL_REQUIRED = True
ACCOUNT_EMAIL_VERIFICATION = 'mandatory'
ACCOUNT_UNIQUE_EMAIL = True
ADMINS = u"(('Mailman Suite Admin', 'mmasoudf(a)aaas.org'),)"
ALLOWED_HOSTS = ['*']
APPEND_SLASH = True
AUTHENTICATION_BACKENDS = u"('django.contrib.auth.backends.ModelBackend', 'allauth.account.auth_backends.AuthenticationBackend')"
AUTH_PASSWORD_VALIDATORS = u'********************'
AUTH_USER_MODEL = u'auth.User'
BASE_DIR = '/usr/share/mailman3-web'
CACHES = {u'default': {u'BACKEND': u'django.core.cache.backends.locmem.LocMemCache'}}
CACHE_MIDDLEWARE_ALIAS = u'default'
CACHE_MIDDLEWARE_KEY_PREFIX = u'********************'
CACHE_MIDDLEWARE_SECONDS = 600
COMPRESS_CACHEABLE_PRECOMPILERS = u'()'
COMPRESS_CACHE_BACKEND = u'default'
COMPRESS_CACHE_KEY_FUNCTION = u'********************'
COMPRESS_CLEAN_CSS_ARGUMENTS = u''
COMPRESS_CLEAN_CSS_BINARY = u'cleancss'
COMPRESS_CLOSURE_COMPILER_ARGUMENTS = u''
COMPRESS_CLOSURE_COMPILER_BINARY = u'java -jar compiler.jar'
COMPRESS_CSS_COMPRESSOR = u'compressor.css.CssCompressor'
COMPRESS_CSS_FILTERS = [u'compressor.filters.css_default.CssAbsoluteFilter']
COMPRESS_CSS_HASHING_METHOD = u'mtime'
COMPRESS_DATA_URI_MAX_SIZE = 1024
COMPRESS_DEBUG_TOGGLE = None
COMPRESS_ENABLED = True
COMPRESS_JINJA2_GET_ENVIRONMENT = <function JINJA2_GET_ENVIRONMENT at 0x7fdfa1de2f50> COMPRESS_JS_COMPRESSOR = u'compressor.js.JsCompressor'
COMPRESS_JS_FILTERS = [u'compressor.filters.jsmin.JSMinFilter']
COMPRESS_MINT_DELAY = 30
COMPRESS_MTIME_DELAY = 10
COMPRESS_OFFLINE = False
COMPRESS_OFFLINE_CONTEXT = {u'STATIC_URL': '/mailman3/static/'} COMPRESS_OFFLINE_MANIFEST = u'manifest.json'
COMPRESS_OFFLINE_TIMEOUT = 31536000
COMPRESS_OUTPUT_DIR = u'CACHE'
COMPRESS_PARSER = u'compressor.parser.AutoSelectParser'
COMPRESS_PRECOMPILERS = u"(('text/less', 'lessc {infile} {outfile}'), ('text/x-scss', 'sass -t compressed {infile} {outfile}'), ('text/x-sass', 'sass -t compressed {infile} {outfile}'))"
COMPRESS_REBUILD_TIMEOUT = 2592000
COMPRESS_ROOT = '/var/lib/mailman3/web/static'
COMPRESS_STORAGE = u'compressor.storage.CompressorFileStorage'
COMPRESS_TEMPLATE_FILTER_CONTEXT = {u'STATIC_URL': '/mailman3/static/'} COMPRESS_URL = '/mailman3/static/'
COMPRESS_URL_PLACEHOLDER = u'/__compressor_url_placeholder__/'
COMPRESS_VERBOSE = False
COMPRESS_YUGLIFY_BINARY = u'yuglify'
COMPRESS_YUGLIFY_CSS_ARGUMENTS = u'--terminal'
COMPRESS_YUGLIFY_JS_ARGUMENTS = u'--terminal'
COMPRESS_YUI_BINARY = u'java -jar yuicompressor.jar'
COMPRESS_YUI_CSS_ARGUMENTS = u''
COMPRESS_YUI_JS_ARGUMENTS = u''
CSRF_COOKIE_AGE = 31449600
CSRF_COOKIE_DOMAIN = None
CSRF_COOKIE_HTTPONLY = False
CSRF_COOKIE_NAME = u'csrftoken'
CSRF_COOKIE_PATH = u'/'
CSRF_COOKIE_SECURE = False
CSRF_FAILURE_VIEW = u'django.views.csrf.csrf_failure'
CSRF_HEADER_NAME = u'HTTP_X_CSRFTOKEN'
CSRF_TRUSTED_ORIGINS = []
CSRF_USE_SESSIONS = False
DATABASES = {'default': {'ENGINE': 'django.db.backends.postgresql_psycopg2', 'AUTOCOMMIT': True, 'ATOMIC_REQUESTS': False, 'NAME': 'mailman3web', 'CONN_MAX_AGE': 0, 'TIME_ZONE': None, 'PORT': '', 'HOST': 'localhost', 'USER': 'mailman3web', 'TEST': {'COLLATION': None, 'CHARSET': None, 'NAME': None, 'MIRROR': None}, 'PASSWORD': u'********************', 'OPTIONS': {}}} DATABASE_ROUTERS = [] DATA_UPLOAD_MAX_MEMORY_SIZE = 2621440 DATA_UPLOAD_MAX_NUMBER_FIELDS = 1000 DATETIME_FORMAT = u'N j, Y, P'
DATETIME_INPUT_FORMATS = [u'%Y-%m-%d %H:%M:%S', u'%Y-%m-%d %H:%M:%S.%f', u'%Y-%m-%d %H:%M', u'%Y-%m-%d', u'%m/%d/%Y %H:%M:%S', u'%m/%d/%Y %H:%M:%S.%f', u'%m/%d/%Y %H:%M', u'%m/%d/%Y', u'%m/%d/%y %H:%M:%S', u'%m/%d/%y %H:%M:%S.%f', u'%m/%d/%y %H:%M', u'%m/%d/%y'] DATE_FORMAT = u'N j, Y'
DATE_INPUT_FORMATS = [u'%Y-%m-%d', u'%m/%d/%Y', u'%m/%d/%y', u'%b %d %Y', u'%b %d, %Y', u'%d %b %Y', u'%d %b, %Y', u'%B %d %Y', u'%B %d, %Y', u'%d %B %Y', u'%d %B, %Y'] DEBUG = False DEBUG_PROPAGATE_EXCEPTIONS = False DECIMAL_SEPARATOR = u'.'
DEFAULT_CHARSET = u'utf-8'
DEFAULT_CONTENT_TYPE = u'text/html'
DEFAULT_EXCEPTION_REPORTER_FILTER = u'django.views.debug.SafeExceptionReporterFilter'
DEFAULT_FILE_STORAGE = u'django.core.files.storage.FileSystemStorage'
DEFAULT_FROM_EMAIL = 'postorius(a)listserv2.aaas.org'
DEFAULT_INDEX_TABLESPACE = u''
DEFAULT_TABLESPACE = u''
DISALLOWED_USER_AGENTS = []
EMAILNAME = 'listserv2.aaas.org'
EMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend'
EMAIL_HOST = u'localhost'
EMAIL_HOST_PASSWORD = u'********************'
EMAIL_HOST_USER = u''
EMAIL_PORT = 25
EMAIL_SSL_CERTFILE = None
EMAIL_SSL_KEYFILE = u'********************'
EMAIL_SUBJECT_PREFIX = u'[Django] '
EMAIL_TIMEOUT = None
EMAIL_USE_LOCALTIME = False
EMAIL_USE_SSL = False
EMAIL_USE_TLS = False
FILE_CHARSET = u'utf-8'
FILE_UPLOAD_DIRECTORY_PERMISSIONS = None FILE_UPLOAD_HANDLERS = [u'django.core.files.uploadhandler.MemoryFileUploadHandler', u'django.core.files.uploadhandler.TemporaryFileUploadHandler']
FILE_UPLOAD_MAX_MEMORY_SIZE = 2621440
FILE_UPLOAD_PERMISSIONS = None
FILE_UPLOAD_TEMP_DIR = None
FILTER_VHOST = False
FIRST_DAY_OF_WEEK = 0
FIXTURE_DIRS = []
FORCE_SCRIPT_NAME = None
FORMAT_MODULE_PATH = None
FORM_RENDERER = u'django.forms.renderers.DjangoTemplates'
HAYSTACK_CONNECTIONS = {'default': {'ENGINE': 'haystack.backends.whoosh_backend.WhooshEngine', 'PATH': '/var/lib/mailman3/web/fulltext_index'}}
HOSTNAME = 'localhost.local'
IGNORABLE_404_URLS = []
INSTALLED_APPS = u"('hyperkitty', 'postorius', 'django_mailman3', 'django.contrib.admin', 'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.sites', 'django.contrib.messages', 'django.contrib.staticfiles', 'rest_framework', 'django_gravatar', 'paintstore', 'compressor', 'haystack', 'django_extensions', 'django_q', 'allauth', 'allauth.account', 'allauth.socialaccount', 'django_mailman3.lib.auth.fedora')"
INTERNAL_IPS = []
LANGUAGES = [(u'af', u'Afrikaans'), (u'ar', u'Arabic'), (u'ast', u'Asturian'), (u'az', u'Azerbaijani'), (u'bg', u'Bulgarian'), (u'be', u'Belarusian'), (u'bn', u'Bengali'), (u'br', u'Breton'), (u'bs', u'Bosnian'), (u'ca', u'Catalan'), (u'cs', u'Czech'), (u'cy', u'Welsh'), (u'da', u'Danish'), (u'de', u'German'), (u'dsb', u'Lower Sorbian'), (u'el', u'Greek'), (u'en', u'English'), (u'en-au', u'Australian English'), (u'en-gb', u'British English'), (u'eo', u'Esperanto'), (u'es', u'Spanish'), (u'es-ar', u'Argentinian Spanish'), (u'es-co', u'Colombian Spanish'), (u'es-mx', u'Mexican Spanish'), (u'es-ni', u'Nicaraguan Spanish'), (u'es-ve', u'Venezuelan Spanish'), (u'et', u'Estonian'), (u'eu', u'Basque'), (u'fa', u'Persian'), (u'fi', u'Finnish'), (u'fr', u'French'), (u'fy', u'Frisian'), (u'ga', u'Irish'), (u'gd', u'Scottish Gaelic'), (u'gl', u'Galician'), (u'he', u'Hebrew'), (u'hi', u'Hindi'), (u'hr', u'Croatian'), (u'hsb', u'Upper Sorbian'), (u'hu', u'Hungarian'), (u'ia', u'Interlingua'), (u'id', u'Indonesian'), (u'io', u'Ido'), (u'is', u'Icelandic'), (u'it', u'Italian'), (u'ja', u'Japanese'), (u'ka', u'Georgian'), (u'kk', u'Kazakh'), (u'km', u'Khmer'), (u'kn', u'Kannada'), (u'ko', u'Korean'), (u'lb', u'Luxembourgish'), (u'lt', u'Lithuanian'), (u'lv', u'Latvian'), (u'mk', u'Macedonian'), (u'ml', u'Malayalam'), (u'mn', u'Mongolian'), (u'mr', u'Marathi'), (u'my', u'Burmese'), (u'nb', u'Norwegian Bokm\xe5l'), (u'ne', u'Nepali'), (u'nl', u'Dutch'), (u'nn', u'Norwegian Nynorsk'), (u'os', u'Ossetic'), (u'pa', u'Punjabi'), (u'pl', u'Polish'), (u'pt', u'Portuguese'), (u'pt-br', u'Brazilian Portuguese'), (u'ro', u'Romanian'), (u'ru', u'Russian'), (u'sk', u'Slovak'), (u'sl', u'Slovenian'), (u'sq', u'Albanian'), (u'sr', u'Serbian'), (u'sr-latn', u'Serbian Latin'), (u'sv', u'Swedish'), (u'sw', u'Swahili'), (u'ta', u'Tamil'), (u'te', u'Telugu'), (u'th', u'Thai'), (u'tr', u'Turkish'), (u'tt', u'Tatar'), (u'udm', u'Udmurt'), (u'uk', u'Ukrainian'), (u'ur', u'Urdu'), (u'vi', u'Vietnamese'), (u'zh-hans', u'Simplified Chinese'), (u'zh-hant', u'Traditional Chinese')] LANGUAGES_BIDI = [u'he', u'ar', u'fa', u'ur'] LANGUAGE_CODE = 'en-us'
LANGUAGE_COOKIE_AGE = None
LANGUAGE_COOKIE_DOMAIN = None
LANGUAGE_COOKIE_NAME = u'django_language'
LANGUAGE_COOKIE_PATH = u'/'
LOCALE_PATHS = []
LOGGING = {'loggers': {'django': {'handlers': ['file'], 'propagate': True, 'level': 'INFO'}, 'hyperkitty': {'handlers': ['file'], 'propagate': True, 'level': 'INFO'}, 'django.request': {'handlers': ['mail_admins', 'file'], 'propagate': True, 'level': 'INFO'}, 'postorius': {'handlers': ['file'], 'propagate': True, 'level': 'INFO'}}, 'disable_existing_loggers': False, 'handlers': {'console': {'formatter': 'simple', 'class': 'logging.StreamHandler'}, 'file': {'level': 'INFO', 'formatter': 'verbose', 'class': 'logging.handlers.RotatingFileHandler', 'filename': '/var/log/mailman3/web/mailman-web.log'}, 'mail_admins': {'class': 'django.utils.log.AdminEmailHandler', 'filters': ['require_debug_false'], 'level': 'ERROR'}}, 'formatters': {'simple': {'format': '%(levelname)s %(message)s'}, 'verbose': {'format': '%(levelname)s %(asctime)s %(process)d %(name)s %(message)s'}}, 'version': 1, 'filters': {'require_debug_false': {'()': 'django.utils.log.RequireDebugFalse'}}}
LOGGING_CONFIG = u'logging.config.dictConfig'
LOGIN_REDIRECT_URL = 'list_index'
LOGIN_URL = 'account_login'
LOGOUT_REDIRECT_URL = None
LOGOUT_URL = 'account_logout'
MAILMAN_ARCHIVER_FROM = u"('127.0.0.1', '::1')"
MAILMAN_ARCHIVER_KEY = u'********************'
MAILMAN_REST_API_PASS = u'********************'
MAILMAN_REST_API_URL = u'********************'
MAILMAN_REST_API_USER = u'********************'
MANAGERS = []
MEDIA_ROOT = u''
MEDIA_URL = u''
MESSAGE_STORAGE = u'django.contrib.messages.storage.fallback.FallbackStorage'
MESSAGE_TAGS = {40: 'danger'}
MIDDLEWARE = None
MIDDLEWARE_CLASSES = u"('django.contrib.sessions.middleware.SessionMiddleware', 'django.middleware.common.CommonMiddleware', 'django.middleware.csrf.CsrfViewMiddleware', 'django.middleware.locale.LocaleMiddleware', 'django.contrib.auth.middleware.AuthenticationMiddleware', 'django.contrib.auth.middleware.SessionAuthenticationMiddleware', 'django.contrib.messages.middleware.MessageMiddleware', 'django.middleware.clickjacking.XFrameOptionsMiddleware', 'django.middleware.security.SecurityMiddleware', 'django_mailman3.middleware.TimezoneMiddleware', 'postorius.middleware.PostoriusMiddleware')"
MIGRATION_MODULES = {}
MONTH_DAY_FORMAT = u'F j'
NUMBER_GROUPING = 0
PASSWORD_HASHERS = u'********************'
PASSWORD_RESET_TIMEOUT_DAYS = u'********************'
PREPEND_WWW = False
Q_CLUSTER = {'orm': 'default', 'save_limit': 100, 'timeout': 300} ROOT_URLCONF = 'urls'
SECRET_KEY = u'********************'
SECURE_BROWSER_XSS_FILTER = False
SECURE_CONTENT_TYPE_NOSNIFF = False
SECURE_HSTS_INCLUDE_SUBDOMAINS = False
SECURE_HSTS_PRELOAD = False
SECURE_HSTS_SECONDS = 0
SECURE_PROXY_SSL_HEADER = None
SECURE_REDIRECT_EXEMPT = []
SECURE_SSL_HOST = None
SECURE_SSL_REDIRECT = False
SERVER_EMAIL = 'root(a)listserv2.aaas.org'
SESSION_CACHE_ALIAS = u'default'
SESSION_COOKIE_AGE = 1209600
SESSION_COOKIE_DOMAIN = None
SESSION_COOKIE_HTTPONLY = True
SESSION_COOKIE_NAME = u'sessionid'
SESSION_COOKIE_PATH = u'/'
SESSION_COOKIE_SECURE = False
SESSION_ENGINE = u'django.contrib.sessions.backends.db'
SESSION_EXPIRE_AT_BROWSER_CLOSE = False
SESSION_FILE_PATH = None
SESSION_SAVE_EVERY_REQUEST = False
SESSION_SERIALIZER = 'django.contrib.sessions.serializers.PickleSerializer'
SETTINGS_MODULE = 'settings'
SHORT_DATETIME_FORMAT = u'm/d/Y P'
SHORT_DATE_FORMAT = u'm/d/Y'
SIGNING_BACKEND = u'django.core.signing.TimestampSigner'
SILENCED_SYSTEM_CHECKS = []
SITE_ID = 1
SOCIALACCOUNT_PROVIDERS = {}
STATICFILES_DIRS = u'()'
STATICFILES_FINDERS = u"('django.contrib.staticfiles.finders.FileSystemFinder', 'django.contrib.staticfiles.finders.AppDirectoriesFinder', 'compressor.finders.CompressorFinder')"
STATICFILES_STORAGE = u'django.contrib.staticfiles.storage.StaticFilesStorage'
STATIC_ROOT = '/var/lib/mailman3/web/static'
STATIC_URL = '/mailman3/static/'
TEMPLATES = [{'DIRS': [], 'APP_DIRS': True, 'OPTIONS': {'context_processors': ['django.template.context_processors.debug', 'django.template.context_processors.i18n', 'django.template.context_processors.media', 'django.template.context_processors.static', 'django.template.context_processors.tz', 'django.template.context_processors.csrf', 'django.template.context_processors.request', 'django.contrib.auth.context_processors.auth', 'django.contrib.messages.context_processors.messages', 'django_mailman3.context_processors.common', 'hyperkitty.context_processors.common', 'postorius.context_processors.postorius']}, 'BACKEND': 'django.template.backends.django.DjangoTemplates'}]
TEST_NON_SERIALIZED_APPS = []
TEST_RUNNER = u'django.test.runner.DiscoverRunner'
THOUSAND_SEPARATOR = u','
TIME_FORMAT = u'P'
TIME_INPUT_FORMATS = [u'%H:%M:%S', u'%H:%M:%S.%f', u'%H:%M'] TIME_ZONE = 'UTC'
USE_ETAGS = False
USE_I18N = True
USE_L10N = True
USE_THOUSAND_SEPARATOR = False
USE_TZ = True
USE_X_FORWARDED_HOST = True
USE_X_FORWARDED_PORT = False
WSGI_APPLICATION = 'wsgi.application'
X_FRAME_OPTIONS = u'SAMEORIGIN'
YEAR_MONTH_FORMAT = u'F Y'
Best regards
Mohsen Masoudfar
1 year, 11 months
Re: Mailman issues after re-boot
by Odhiambo Washington
On Sat, Sep 16, 2023 at 5:49 PM Paul Rubin <paulrubin37(a)gmail.com> wrote:
> *<< I sent this to the mailman3 issues on gitlab and Mark replied but asked
> me to move to this list, so I copied everything and inserted responses. I
> hope this makes sense and someone can help me.>>*
>
> After a lengthy power failure I had to reboot a machine that has been
> running for several years. the WEB-UI does not seem to be able to see
> mailman-core. I have looked for log entries that might explain what the
> issue is and I am stumped to even find logs that will update when I get an
> error on the browser. Mailman is definitely running, postgres is running
> and mailman web is running. if I go to the lists page I see lists, if I try
> to access a specific list I get Server error: An error occurred while
> processing your request.
>
> I looked in /var/logs/mailman /opt/mailman/web/mailmanweb
>
> All I can find is:
>
> django.urls.exceptions.NoReverseMatch: Reverse for
> 'list_unsubscription_requests' not found.
> 'list_unsubscription_requests' is not a valid view function or pattern
> name.16688 ERROR 2023-09-12 13:56:58,430 1760 django.request Internal
> Server Error: /mailman3/lists/goodstein.goodstein.org/ File
> "/opt/mailman/venv/lib64/python3.8/site-packages/haystack/admin.py",
> line 8, in <module> from django.utils.translation import
> ungettextImportError: cannot import name 'ungettext' from
> 'django.utils.translation'
>
> (/opt/mailman/venv/lib64/python3.8/site-packages/django/utils/translation/__init__.py)
>
> Also I have to run mailman from "mailman start" because the systemctl
> returns this:
>
> ● mailman3.service - GNU Mailing List Manager Loaded: loaded
> (/etc/systemd/system/mailman3.service; enabled; vendor preset:
> disabled) Active: failed (Result: exit-code) since Tue 2023-09-12
> 10:06:31 EDT; 13s ago Process: 31159
> ExecStart=/opt/mailman/venv/bin/mailman start (code=exited,
> status=1/FAILURE) CPU: 806msSep 12 10:06:31 mail
> mailman[31159]: Error in atexit._run_exitfuncs:Sep 12 10:06:31 mail
> mailman[31159]: Traceback (most recent call last):Sep 12 10:06:31 mail
> mailman[31159]: File "/usr/lib64/python3.8/logging/__init__.py",
> line 2126, in shutdownSep 12 10:06:31 mail mailman[31159]:
> h.flush()Sep 12 10:06:31 mail mailman[31159]: File
> "/opt/mailman/venv/lib64/python3.8/site-packages/mailman/core/logging.py",
> line 67, in flushSep 12 10:06:31 mail mailman[31159]: if
> self._stream:Sep 12 10:06:31 mail mailman[31159]: AttributeError:
> 'ReopenableFileHandler' object has no attribute '_stream'Sep 12
> 10:06:31 mail systemd[1]: mailman3.service: Control process exited,
> code=exited, status=1/FAILURESep 12 10:06:31 mail systemd[1]:
> mailman3.service: Failed with result 'exit-code'.Sep 12 10:06:31 mail
> systemd[1]: Failed to start GNU Mailing List Manager.
>
> Please tell me where to start looking or adjusting.
>
>
> Reply from Mark Sapiro,* Edited to include responses:*
>
> Mark Sapiro <https://gitlab.com/msapiro>@msapiro
> <https://gitlab.com/msapiro>· 1 day ago
> <https://gitlab.com/mailman/mailman-web/-/issues/23#note_1557601916>
> Owner
> Add reaction
> More actions
>
> The mailman-users(a)mailman3.org list is probably a more appropriate place
> for issues like this.
>
> django.urls.exceptions.NoReverseMatch: Reverse for
> 'list_unsubscription_requests' not found. 'list_unsubscription_requests' is
> not a valid view function or pattern name. 16688 ERROR 2023-09-12
> 13:56:58,430 1760 django.request Internal Server Error: /mailman3/lists/
> goodstein.goodstein.org/
>
> /opt/mailman/venv/lib64/python3.8/site-packages/postorius/urls.py should
> contain
>
> re_path( r'^unsubscription_requests$',
> list_views.list_unsubscription_requests,
> name='list_unsubscription_requests', ),
>
> Y
>
> *Yes this exists*
>
> and /opt/mailman/venv/lib64/python3.8/site-packages/postorius/views/list.py
> should define list_unsubscription_requests.
>
> *Yes there is a method by this name defined*
>
> File "/opt/mailman/venv/lib64/python3.8/site-packages/haystack/admin.py",
> line 8, in from django.utils.translation import ungettext ImportError:
> cannot import name 'ungettext' from 'django.utils.translation'
> (/opt/mailman/venv/lib64/python3.8/site-packages/django/utils/translation/
> *init*.py)
>
> See
>
> https://docs.djangoproject.com/en/4.2/internals/deprecation/#deprecation-re…
> -
> ungettext() is removed from django>=4.0
>
> Sep 12 10:06:31 mail mailman[31159]: AttributeError:
> 'ReopenableFileHandler' object has no attribute '_stream'
>
> I don't understand this one offhand, but what is the content of
> /etc/systemd/system/mailman3.service, in particular the settings for User,
> Group and ExecStart?
>
> *The service looks right:*
>
> 1 [Unit]
> 2 Description=GNU Mailing List Manager
> 3 After=syslog.target network.target postgresql.service
> 4
> 5 [Service]
> 6 Type=forking
> 7 PIDFile=/opt/mailman/mm/var/master.pid
> 8 User=mailman
> 9 Group=mailman
> 10 ExecStart=/opt/mailman/venv/bin/mailman start
> 11 ExecReload=/opt/mailman/venv/bin/mailman restart
> 12 ExecStop=/opt/mailman/venv/bin/mailman stop
> 13
> 14 [Install]
> 15 WantedBy=multi-user.target
>
> *It seems I may have two versions of the mailman script:*
>
> mail:/opt/mailman # which mailman
> /usr/bin/mailman
> mail:/opt/mailman # ls -al /usr/bin/mailman
> -rwxr-xr-x 1 root root 382 May 10 2021 /usr/bin/mailman
> mail:/opt/mailman # ls -al /opt/mailman/venv/bin/mailman
> -rwxr-xr-x 1 mailman mailman 231 Sep 12 10:02 /opt/mailman/venv/bin/mailman
>
> Somehow, your installation is corrupted. I don't know how
>
> *I need to know what to remove, how to correctly update, etc., That said
> the two scripts appear to be very similar:*
>
> mail:/opt/mailman # head /usr/bin/mailman
>
> #!/usr/bin/python3
> # EASY-INSTALL-ENTRY-SCRIPT: 'mailman==3.3.4','console_scripts','mailman'
> __requires__ = 'mailman==3.3.4'
> import re
> import sys
> from pkg_resources import load_entry_point
>
> if __name__ == '__main__':
> sys.argv[0] = re.sub(r'(-script\.pyw?|\.exe)?$', '', sys.argv[0])
> sys.exit(
>
>
> mail:/opt/mailman # head /opt/mailman/venv/bin/mailman
> #!/opt/mailman/venv/bin/python3
> # -*- coding: utf-8 -*-
> import re
> import sys
> from mailman.bin.mailman import main
> if __name__ == '__main__':
> sys.argv[0] = re.sub(r'(-script\.pyw|\.exe)?$', '', sys.argv[0])
> sys.exit(main())
> mail:/opt/mailman #
>
> *Given the two years since the last reboot I also tried following *
> https://docs.mailman3.org/en/latest/upgrade-guide.html *to make sure I was
> running the latest*
>
> pip install -U mailman postorius django-mailman3 hyperkitty mailman-web
>
Why don't you try and do a fresh virtualenv install and move your configs
into it?
1. cd /opt
2. mv mailman _mailman.BAK
3. Create a backup of the database.
Then follow this:
https://docs.mailman3.org/en/latest/install/virtualenv.html#virtualenv-inst…,
but do not create the database as it already exists.
You also do not need to run any database migrations, so you can actually
skip those
You just need to ensure that `mailman info` says that its configuration
files are in /etc/mailman3/
Create the necessary directories as per the above installation instructions.
--
Best regards,
Odhiambo WASHINGTON,
Nairobi,KE
+254 7 3200 0004/+254 7 2274 3223
"Oh, the cruft.", egrep -v '^$|^.*#' ¯\_(ツ)_/¯ :-)
[How to ask smart questions:
http://www.catb.org/~esr/faqs/smart-questions.html]
1 year, 2 months