Hi, after the upgrade I ran into the same problem: # django.db.utils.OperationalError: no such column: hyperkitty_mailinglist.archive_rendering_mode
I solved it by following the post upgrade steps described here: https://docs.mailman3.org/en/latest/upgrade-guide.html # mailman-web migrate solved the hyperkitty error above. Regards Martin Am Fr., 23. Juni 2023 um 10:33 Uhr schrieb Pierre-Elliott Bécue <p...@debian.org>: > > > De : Norbert Preining <norb...@preining.info> > À : Pierre-Elliott Bécue <p...@debian.org> > Cc : 1037...@bugs.debian.org > Date : 23 juin 2023 09:05:40 > Objet : Re: Bug#1037358: mailman3-web: Upgrade from Debian 11 to Debian 12 > broke mailman/mailman3-web > > > Hi PEB, > > > >> Indeed, when I fixed the 3.10 testing issues, I failed to have the > >> config for mailman3-web fixed. > >> > >> I'll add these and send a stable-pu. > > > > Thanks! > > > >>> - /etc/cron.d/mailman3 contains a call to gatenews which triggers errors > >>> and probalby should not be called in the cron script > >> > >> Right, it still is in my todolist, which is a shame as it's trivial to > >> fix. I guess the reason I never dropped it is that it's harmless as the > >> script refuses to run. > > > > Yeah, but the repeated emails from cron with the warning are a bit painful. > > > > > >>> - even with the above changes, the hourly run job fails (that is actually > >>> a serious bug!) > >>> > >>> /usr/lib/python3/dist-packages/whoosh/codec/whoosh3.py:1116: > >>> SyntaxWarning: "is" with a literal. Did you mean "=="? > >>> elif fixedsize is 0: > >>> [ERROR/MainProcess] Failed indexing 1 - 1 (retry 5/5): no such column: > >>> hyperkitty_mailinglist.archive_rendering_mode (pid 4974): no such column: > >>> hyperkitty_mailinglist.archive_rendering_mode > >>> 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' > >>> > >>> During handling of the above exception, another exception occurred: > >>> > >>> Traceback (most recent call last): > >>> File "/usr/lib/python3/dist-packages/django/db/backends/utils.py", line > >>> 84, in _execute > >>> return self.cursor.execute(sql, params) > >>> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ > >>> File > >>> "/usr/lib/python3/dist-packages/django/db/backends/sqlite3/base.py", line > >>> 423, in execute > >>> return Database.Cursor.execute(self, query, params) > >>> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ > >>> sqlite3.OperationalError: no such column: > >>> hyperkitty_mailinglist.archive_rendering_mode > >>> > >>> The above exception was the direct cause of the following exception: > >>> > >>> Traceback (most recent call last): > >>> File > >>> "/usr/lib/python3/dist-packages/haystack/management/commands/update_index.py", > >>> line 119, in do_update > >>> backend.update(index, current_qs, commit=commit) > >>> File > >>> "/usr/lib/python3/dist-packages/haystack/backends/whoosh_backend.py", > >>> line 258, in update > >>> doc = index.full_prepare(obj) > >>> ^^^^^^^^^^^^^^^^^^^^^^^ > >>> File "/usr/lib/python3/dist-packages/haystack/indexes.py", line 235, in > >>> full_prepare > >>> self.prepared_data = self.prepare(obj) > >>> ^^^^^^^^^^^^^^^^^ > >>> File "/usr/lib/python3/dist-packages/haystack/indexes.py", line 226, in > >>> prepare > >>> self.prepared_data[field.index_fieldname] = field.prepare(obj) > >>> ^^^^^^^^^^^^^^^^^^ > >>> File "/usr/lib/python3/dist-packages/haystack/fields.py", line 236, in > >>> prepare > >>> return self.convert(super().prepare(obj)) > >>> ^^^^^^^^^^^^^^^^^^^^ > >>> File "/usr/lib/python3/dist-packages/haystack/fields.py", line 105, in > >>> prepare > >>> values = self.resolve_attributes_lookup(current_objects, attrs) > >>> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ > >>> File "/usr/lib/python3/dist-packages/haystack/fields.py", line 125, in > >>> resolve_attributes_lookup > >>> if not hasattr(current_object, attributes[0]): > >>> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ > >>> File > >>> "/usr/lib/python3/dist-packages/django/db/models/fields/related_descriptors.py", > >>> line 187, in __get__ > >>> rel_obj = self.get_object(instance) > >>> ^^^^^^^^^^^^^^^^^^^^^^^^^ > >>> File > >>> "/usr/lib/python3/dist-packages/django/db/models/fields/related_descriptors.py", > >>> line 154, in get_object > >>> return qs.get(self.field.get_reverse_related_filter(instance)) > >>> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ > >>> File "/usr/lib/python3/dist-packages/django/db/models/query.py", line > >>> 431, in get > >>> num = len(clone) > >>> ^^^^^^^^^^ > >>> File "/usr/lib/python3/dist-packages/django/db/models/query.py", line > >>> 262, in __len__ > >>> self._fetch_all() > >>> File "/usr/lib/python3/dist-packages/django/db/models/query.py", line > >>> 1324, in _fetch_all > >>> self._result_cache = list(self._iterable_class(self)) > >>> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ > >>> File "/usr/lib/python3/dist-packages/django/db/models/query.py", line > >>> 51, in __iter__ > >>> results = compiler.execute_sql(chunked_fetch=self.chunked_fetch, > >>> chunk_size=self.chunk_size) > >>> > >>> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ > >>> File "/usr/lib/python3/dist-packages/django/db/models/sql/compiler.py", > >>> line 1175, in execute_sql > >>> cursor.execute(sql, params) > >>> File "/usr/lib/python3/dist-packages/django/db/backends/utils.py", line > >>> 66, in execute > >>> return self._execute_with_wrappers(sql, params, many=False, > >>> executor=self._execute) > >>> > >>> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ > >>> File "/usr/lib/python3/dist-packages/django/db/backends/utils.py", line > >>> 75, in _execute_with_wrappers > >>> return executor(sql, params, many, context) > >>> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ > >>> File "/usr/lib/python3/dist-packages/django/db/backends/utils.py", line > >>> 79, in _execute > >>> with self.db.wrap_database_errors: > >>> File "/usr/lib/python3/dist-packages/django/db/utils.py", line 90, in > >>> __exit__ > >>> raise dj_exc_value.with_traceback(traceback) from exc_value > >>> File "/usr/lib/python3/dist-packages/django/db/backends/utils.py", line > >>> 84, in _execute > >>> return self.cursor.execute(sql, params) > >>> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ > >>> File > >>> "/usr/lib/python3/dist-packages/django/db/backends/sqlite3/base.py", line > >>> 423, in execute > >>> return Database.Cursor.execute(self, query, params) > >>> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ > >>> django.db.utils.OperationalError: no such column: > >>> hyperkitty_mailinglist.archive_rendering_mode > >> > >> Erm, this one is weird, I did not meet it. What cron are you referring > >> to? > >> > >> The hourly tasks cron for mailman3 web runs smoothly here. > > > > Hmm, I guess it was this one > > @hourly www-data [ -f /usr/bin/django-admin ] && flock > > -n /var/run/mailman3-web/cron.hourly /usr/share/mailman3-web/manage.py > > runjobs hourly > > > > Do you have hyperkitty active? > > > > I faintly remember (now some weeks have passed) that I had to do something > > to get the new table column added: > > > > no such column: hyperkitty_mailinglist.archive_rendering_mode > > > > Maybe that was the source of the error, too? Not sure. > > Sorry for not remembering that now. > > > > Best regards > > > > Norbert > > > > -- > > PREINING Norbert https://www.preining.info > > Mercari Inc. + IFMGA Guide + TU Wien + TeX Live > > GPG: 0x860CDC13 fp: F7D8 A928 26E3 16A1 9FA0 ACF0 6CAC A448 860C DC13 > Hello Norbert, > > Ack for the cron ! It will be in a stable pu and it should have been fixed > far earlier, sorry for that. > > For the traceback, yes, I use HyperKitty, I'll do some tests just to make > sure that I just did not miss it. The first idea that came to me was an > unsucessful django migration during the upgrade but I think you'd have > spotted it. > > I'll try to reach out with more ideas soon. > > Thanks again for your feedback! > > -- > Pierre-Elliott Bécue > > -- > To unsubscribe, send mail to 1037358-unsubscr...@bugs.debian.org.