cron error - /opt/mailman/venv/bin/mailman-web runjobs daily

I wonder what this means and whether it's fatal.
How do I fix it?
ERROR OCCURED IN JOB: sync_mailman (APP: hyperkitty)
Traceback (most recent call last):
File
"/opt/mailman/venv/lib/python3.11/site-packages/django_extensions/management/commands/runjobs.py",
line 51, in runjobs
job().execute()
File
"/opt/mailman/venv/lib/python3.11/site-packages/hyperkitty/jobs/sync_mailman.py",
line 36, in execute
sync_with_mailman()
File
"/opt/mailman/venv/lib/python3.11/site-packages/hyperkitty/lib/mailman.py",
line 178, in sync_with_mailman
mlist.update_from_mailman()
File
"/opt/mailman/venv/lib/python3.11/site-packages/hyperkitty/models/mailinglist.py",
line 226, in update_from_mailman
self._update_owner_mods_from_mailman(mm_list)
File
"/opt/mailman/venv/lib/python3.11/site-packages/hyperkitty/models/mailinglist.py",
line 231, in _update_owner_mods_from_mailman
user = get_django_user(owner)
^^^^^^^^^^^^^^^^^^^^^^
File
"/opt/mailman/venv/lib/python3.11/site-packages/django_mailman3/lib/user.py",
line 30, in get_django_user
email_addr = EmailAddress.objects.get(email=member.address.email)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File
"/opt/mailman/venv/lib/python3.11/site-packages/django/db/models/manager.py",
line 87, in manager_method
return getattr(self.get_queryset(), name)(*args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File
"/opt/mailman/venv/lib/python3.11/site-packages/django/db/models/query.py",
line 640, in get
raise self.model.MultipleObjectsReturned(
*allauth.account.models.EmailAddress.MultipleObjectsReturned: get()
returned more than one EmailAddress -- it returned 2!*
I suspect it's something to do with my action yesterday while attempting to reply to a thread from HyperKitty. The superuser account uses my address - odhiambo at gmail dot com.I am also the listowner for most lists. I tried unsuccessfully to create an account on Postorious using the same email address. I kept getting sent links to verify the account, over and over. Finally, I was able to verify the account, but cannot login with it.
-- Best regards, Odhiambo WASHINGTON, Nairobi,KE +254 7 3200 0004/+254 7 2274 3223 In an Internet failure case, the #1 suspect is a constant: DNS. "Oh, the cruft.", egrep -v '^$|^.*#' ¯\_(ツ)_/¯ :-) [How to ask smart questions: http://www.catb.org/~esr/faqs/smart-questions.html]

On 8/3/25 00:09, Odhiambo Washington via Mailman-users wrote:
I wonder what this means and whether it's fatal.
How do I fix it?
ERROR OCCURED IN JOB: sync_mailman (APP: hyperkitty) ... *allauth.account.models.EmailAddress.MultipleObjectsReturned: get() returned more than one EmailAddress -- it returned 2!*
It appears you created a new list, and that list' owner email address has two Django user records with emails differing only in case. See https://www.msapiro.net/scripts/UC_fix for a script to fix this or you can just go to the Django web UI and delete the mixed case user.
I suspect it's something to do with my action yesterday while attempting to reply to a thread from HyperKitty.
Possibly, if hyperkitty was looking at a mixed case email address that it didn't recognize as a list member and subscribed it.
The superuser account uses my address - odhiambo at gmail dot com.I am also the listowner for most lists. I tried unsuccessfully to create an account on Postorious using the same email address. I kept getting sent links to verify the account, over and over. Finally, I was able to verify the account, but cannot login with it.
This too is probably because there are two accounts with email addresses differing only in case.
-- Mark Sapiro <mark@msapiro.net> The highway is for gamblers, San Francisco Bay Area, California better use your sense - B. Dylan

On Mon, Aug 4, 2025 at 4:53 AM Mark Sapiro <mark@msapiro.net> wrote:
On 8/3/25 00:09, Odhiambo Washington via Mailman-users wrote:
I wonder what this means and whether it's fatal.
How do I fix it?
ERROR OCCURED IN JOB: sync_mailman (APP: hyperkitty) ... *allauth.account.models.EmailAddress.MultipleObjectsReturned: get() returned more than one EmailAddress -- it returned 2!*
It appears you created a new list, and that list' owner email address has two Django user records with emails differing only in case.
I did not create a new list actually. I was working on an existing list.
See https://www.msapiro.net/scripts/UC_fix for a script to fix this or you
can just go to the Django web UI and delete the mixed case user.
The script did not work for me as-is because I use MySQL on this site.
I suspect it's something to do with my action yesterday while attempting to reply to a thread from HyperKitty.
Possibly, if hyperkitty was looking at a mixed case email address that it didn't recognize as a list member and subscribed it.
Happens to not have been the case either. No mixed case address.
The superuser account uses my address - odhiambo at gmail dot com.I am also the listowner for most lists. I tried unsuccessfully to create an account on Postorious using the same email address. I kept getting sent links to verify the account, over and over. Finally, I was able to verify the account, but cannot login with it.
This too is probably because there are two accounts with email addresses differing only in case.
With assistance from ChatGpt, I went digging into the DB and what I found (as I expected) turned out to be slightly different: [email slightly obfuscated!]
MariaDB [mailmansuite]> SELECT id, user_id, email, verified, `primary` FROM
account_emailaddress WHERE LOWER(email) = 'odhiambo__gmail.com';
+------+---------+--------------------+----------+---------+
| id | user_id | email | verified | primary |
+------+---------+--------------------+----------+---------+
| 1844 | 1823 | odhiambo__gmail.com | 1 | 0 |
| 2548 | 4 | odhiambo__gmail.com | 0 | 0 |
+------+---------+--------------------+----------+---------+
2 rows in set (0.002 sec)
MariaDB [mailmansuite]> SELECT id, username, email, is_active FROM auth_user WHERE id IN (SELECT user_id FROM account_emailaddress WHERE LOWER(email) = 'odhiambo__gmail.com' ); +------+----------+-------------------------+-----------+ | id | username | email | is_active | +------+----------+-------------------------+-----------+ | 4 | odhiambo | odhiambo__gmail.com | 1 | | 1823 | admin | odhiambo__kictanet.or.ke | 1 | +------+----------+-------------------------+-----------+ 2 rows in set (0.011 sec)
So I resolved it by deleting the duplicate: MariaDB [mailmansuite]> DELETE FROM account_emailaddress WHERE id = 1844;
Now I need to find a way for me to subscribe my email address as an ordinary user for starters. This is refusing.
-- Best regards, Odhiambo WASHINGTON, Nairobi,KE +254 7 3200 0004/+254 7 2274 3223 In an Internet failure case, the #1 suspect is a constant: DNS. "Oh, the cruft.", egrep -v '^$|^.*#' ¯\_(ツ)_/¯ :-) [How to ask smart questions: http://www.catb.org/~esr/faqs/smart-questions.html]

On 8/19/25 2:21 PM, Odhiambo Washington via Mailman-users wrote:
Now I need to find a way for me to subscribe my email address as an ordinary user for starters. This is refusing.
What are you doing to subscribe? What is the reason given for refusal?
-- Mark Sapiro <mark@msapiro.net> The highway is for gamblers, San Francisco Bay Area, California better use your sense - B. Dylan

Odhiambo Washington via Mailman-users writes:
The superuser account uses my address - odhiambo at gmail dot com. I am also the listowner for most lists. I tried unsuccessfully to create an account on Postorious using the same email address.
I don't see how you can do this. It's the same user database, and email addresses are accepted as identifying a unique User object in the database for authentication and authorization purposes in Django.
I doubt that Django understands the Gmail "punctuation doesn't exist" concept, and I don't think Mailman does either, so you can probably use ohdiamb.o@gmail.com for the new address. (Or you could create a new superuser to use the ugly address, delete the old one, and then claim the pretty address for your ordinary user.)
-- GNU Mailman consultant (installation, migration, customization) Sirius Open Source https://www.siriusopensource.com/ Software systems consulting in Europe, North America, and Japan

On August 20, 2025 4:37:18 AM EDT, "Stephen J. Turnbull" <steve@turnbull.jp> wrote:
Odhiambo Washington via Mailman-users writes:
The superuser account uses my address - odhiambo at gmail dot com. I am also the listowner for most lists. I tried unsuccessfully to create an account on Postorious using the same email address.
I don't see how you can do this. It's the same user database, and email addresses are accepted as identifying a unique User object in the database for authentication and authorization purposes in Django.
That is correct. You can't have two accounts in Postorius/Django with the same email address. But why would you want to? There should be no problem with a single Django user being subscribed to a list with more than one role.
-- Mark Sapiro <mark@msapiro.net> Sent from my Not_an_iThing with standards compliant, open source software.

Mark Sapiro writes:
You can't have two accounts in Postorius/Django with the same email address. But why would you want to? There should be no problem with a single Django user being subscribed to a list with more than one role.
I for one am uncomfortable having the superuser role being used by an ordinary user account, for several reasons. I'm pretty sure that is what Odhiambo was concerned about. I will have similar concerns about the domain user role when we implement it.
The preference for a single email address across roles is harder for me to understand.
-- GNU Mailman consultant (installation, migration, customization) Sirius Open Source https://www.siriusopensource.com/ Software systems consulting in Europe, North America, and Japan
participants (3)
-
Mark Sapiro
-
Odhiambo Washington
-
Stephen J. Turnbull