[Pkg-mailman-hackers] Bug#1040172: mailman3: manage.py migrate not run on upgrade
Wesley Hertlein
wes-debian at hertlein.us
Sun Jul 2 19:48:12 BST 2023
Package: mailman3
Version: 3.3.8-1
Severity: normal
Dear Maintainer,
I ran into a problem on upgrading an installation of mailman3 during
a Debian system update from bullseye to bookworm.
After the upgrade, the default/installed cron jobs at the hour level
started throwing errors:
[ -f /usr/bin/django-admin ] && flock -n /var/run/mailman3-web/cron.hourly /usr/share/mailman3-web/manage.py runjobs hourly
[ERROR/MainProcess] Failed indexing 1 - 1 (retry 5/5): (1054, "Unknown column 'hyperkitty_mailinglist.archive_rendering_mode' in 'field list'") (pid 2307): (1054, "Unknown column 'hyperkitty_mailinglist.archive_rendering_mode' in 'field list'")
Traceback (most recent call last):
File "/usr/lib/python3/dist-packages/django/db/models/fields/related_descriptors.py", line 173, in __get__
rel_obj = self.field.get_cached_value(instance)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3/dist-packages/django/db/models/fields/mixins.py", line 15, in get_cached_value
return instance._state.fields_cache[cache_name]
~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^
KeyError: 'mailinglist'
I got a similar error in the logs when I tried to use the web UI to
poke around the hyperkitty settings. After some random websearches I
took a guess and ran:
# cd /usr/share/mailman3-web
# python3 manage.py migrate
Operations to perform:
Apply all migrations: account, admin, auth, contenttypes, django_mailman3, django_q, hyperkitty, postorius, sessions, sites, socialaccount
Running migrations:
Applying auth.0012_alter_user_first_name_max_length... OK
Applying django_q.0010_auto_20200610_0856... OK
Applying django_q.0011_auto_20200628_1055... OK
Applying django_q.0012_auto_20200702_1608... OK
Applying django_q.0013_task_attempt_count... OK
Applying django_q.0014_schedule_cluster... OK
Applying hyperkitty.0022_mailinglist_archive_rendering_mode... OK
Applying hyperkitty.0023_alter_mailinglist_name... OK
Running this resolved the errors. It's possible the problem here was on
my end (as noted by `mailman3/dbconfig-install: false` in this report) -
the dpkg configuration question sounded like I should choose 'no' if I
had previously set up a database, which of course coming from a working
bullseye installation I had.
Ideally this would have run as part of the package upgrade.
I also got a number of warnings that I was able to clean up easily
enough, this was the only hard error that appeared to break
functionality. Let me know if there is interest and I can file bugs for
those. It's possible/probable that they've been dealt with upstream -
this felt like the only Debian specific issue.
-- System Information:
Debian Release: 12.0
APT prefers stable-security
APT policy: (500, 'stable-security'), (500, 'stable')
Architecture: amd64 (x86_64)
Kernel: Linux 6.1.0-9-amd64 (SMP w/4 CPU threads; PREEMPT)
Kernel taint flags: TAINT_FIRMWARE_WORKAROUND
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8), LANGUAGE not set
Shell: /bin/sh linked to /usr/bin/dash
Init: systemd (via /run/systemd/system)
LSM: AppArmor: enabled
Versions of packages mailman3 depends on:
ii cron 3.0pl1-162
ii dbconfig-mysql 2.0.24
ii debconf [debconf-2.0] 1.5.82
ii init-system-helpers 1.65.2
ii logrotate 3.21.0-1
ii python3 3.11.2-1+b1
ii python3-aiosmtpd 1.4.3-1.1
ii python3-alembic 1.8.1-2
ii python3-authheaders 0.15.2-1
ii python3-authres 1.2.0-3
ii python3-click 8.1.3-2
ii python3-dateutil 2.8.2-2
ii python3-dnspython 2.3.0-1
ii python3-falcon 3.1.1-1+b1
ii python3-flufl.bounce 4.0-3
ii python3-flufl.i18n 3.0.1-3
ii python3-flufl.lock 5.0.1-4
ii python3-gunicorn 20.1.0-6
ii python3-importlib-resources 5.1.2-2
ii python3-lazr.config 2.2.3-3
ii python3-passlib 1.7.4-3
ii python3-psycopg2 2.9.5-1+b1
ii python3-public 2.3-4
ii python3-pymysql 1.0.2-2
ii python3-requests 2.28.1+dfsg-1
ii python3-sqlalchemy 1.4.46+ds1-1
ii python3-zope.component 5.1.0-1
ii python3-zope.configuration 4.4.1-1
ii python3-zope.event 4.4-3
ii python3-zope.interface 5.5.2-1+b1
ii ucf 3.0043+nmu1
Versions of packages mailman3 recommends:
ii postfix [mail-transport-agent] 3.7.5-2
Versions of packages mailman3 suggests:
pn anacron <none>
ii default-mysql-server 1.1.0
ii lynx [www-browser] 2.9.0dev.12-1
ii mailman3-doc 3.3.8-1
ii mariadb-server [virtual-mysql-server] 1:10.11.3-1
-- debconf information:
mailman3/database-type: mysql
mailman3/upgrade-error: abort
mailman3/mysql/authplugin: default
mailman3/mysql/method: Unix socket
mailman3/install-error: abort
mailman3/config_hyperkitty:
mailman3/dbconfig-remove: true
mailman3/remote/port: 3306
mailman3/db/dbname: mailman3
mailman3/remote/newhost:
mailman3/db/app-user: mailman3 at localhost
mailman3/internal/reconfiguring: false
mailman3/mysql/admin-user: root
mailman3/missing-db-package-error: abort
mailman3/init_service_failed:
* mailman3/dbconfig-install: false
mailman3/purge: false
mailman3/remote/host: localhost
mailman3/dbconfig-reinstall: false
mailman3/dbconfig-upgrade: true
mailman3/upgrade-backup: true
mailman3/passwords-do-not-match:
mailman3/remove-error: abort
mailman3/internal/skip-preseed: false
More information about the Pkg-mailman-hackers
mailing list