Bug #55532
UnicodeDecodeError: 'ascii' codec can't decode byte 0x80 in position 4: ordinal not in range(128)
0%
Description
Trace à grenoble :
$ ssh grenoble-test $ sudo journalctl TENANT=accueil-test.demarches.grenoblealpesmetropole.fr juil. 12 08:48:38 vm1srv-grctest uwsgi[22710]: welco ERROR accueil-test.demarches.grenoblealpesmetropole.fr 10.0.1.105 858db915d2a64596a80651628120be r:7F6210ED4940 Internal Server Error: /kb/add/ Traceback (most recent call last): File "/usr/lib/python3/dist-packages/django/core/handlers/exception.py", line 34, in inner response = get_response(request) File "/usr/lib/python3/dist-packages/django/core/handlers/base.py", line 115, in _get_response response = self.process_exception_by_middleware(e, request) File "/usr/lib/python3/dist-packages/django/core/handlers/base.py", line 113, in _get_response response = wrapped_callback(request, *callback_args, **callback_kwargs) File "/usr/lib/python3/dist-packages/django/contrib/auth/decorators.py", line 21, in _wrapped_view return view_func(request, *args, **kwargs) File "/usr/lib/python3/dist-packages/django/views/generic/base.py", line 71, in view return self.dispatch(request, *args, **kwargs) File "/usr/lib/python3/dist-packages/welco/kb/views.py", line 77, in dispatch return super(PageAddView, self).dispatch(request, *args, **kwargs) File "/usr/lib/python3/dist-packages/django/views/generic/base.py", line 97, in dispatch return handler(request, *args, **kwargs) File "/usr/lib/python3/dist-packages/django/views/generic/edit.py", line 172, in post return super().post(request, *args, **kwargs) File "/usr/lib/python3/dist-packages/django/views/generic/edit.py", line 142, in post return self.form_valid(form) File "/usr/lib/python3/dist-packages/django/views/generic/edit.py", line 125, in form_valid self.object = form.save() File "/usr/lib/python3/dist-packages/welco/kb/forms.py", line 41, in save return super(PageForm, self).save(commit=commit) File "/usr/lib/python3/dist-packages/django/forms/models.py", line 458, in save self.instance.save() File "/usr/lib/python3/dist-packages/django/db/models/base.py", line 744, in save force_update=force_update, update_fields=update_fields) File "/usr/lib/python3/dist-packages/django/db/models/base.py", line 793, in save_base update_fields=update_fields, raw=raw, using=using, File "/usr/lib/python3/dist-packages/django/dispatch/dispatcher.py", line 175, in send for receiver in self._live_receivers(sender) File "/usr/lib/python3/dist-packages/django/dispatch/dispatcher.py", line 175, in <listcomp> for receiver in self._live_receivers(sender) File "/usr/lib/python3/dist-packages/haystack/signals.py", line 52, in handle_save index.update_object(instance, using=using) File "/usr/lib/python3/dist-packages/haystack/indexes.py", line 284, in update_object backend.update(self, [instance]) File "/usr/lib/python3/dist-packages/haystack/backends/whoosh_backend.py", line 213, in update writer.commit() File "/usr/lib/python3/dist-packages/whoosh/writing.py", line 1037, in commit self.writer.commit(*args, **kwargs) File "/usr/lib/python3/dist-packages/whoosh/writing.py", line 922, in commit finalsegments = self._merge_segments(mergetype, optimize, merge) File "/usr/lib/python3/dist-packages/whoosh/writing.py", line 827, in _merge_segments return mergetype(self, self.segments) File "/usr/lib/python3/dist-packages/whoosh/writing.py", line 101, in MERGE_SMALL writer.add_reader(reader) File "/usr/lib/python3/dist-packages/whoosh/writing.py", line 710, in add_reader self.add_postings_to_pool(reader, basedoc, docmap) File "/usr/lib/python3/dist-packages/whoosh/writing.py", line 647, in add_postings_to_pool for item in items: File "/usr/lib/python3/dist-packages/whoosh/writing.py", line 583, in _process_posts for fieldname, text, docnum, weight, vbytes in items: File "/usr/lib/python3/dist-packages/whoosh/reading.py", line 429, in iter_postings yield (fieldname, btext, m.id(), m.weight(), m.value()) File "/usr/lib/python3/dist-packages/whoosh/codec/whoosh3.py", line 980, in id self._read_ids() File "/usr/lib/python3/dist-packages/whoosh/codec/whoosh3.py", line 1082, in _read_ids self._read_data() File "/usr/lib/python3/dist-packages/whoosh/codec/whoosh3.py", line 1077, in _read_data self._data = loads(b) UnicodeDecodeError: 'ascii' codec can't decode byte 0x80 in position 4: ordinal not in range(128)
Historique
Mis à jour par Nicolas Roche il y a presque 3 ans
Je n'arrive pas à reproduire localement.
Je me demande si ça ne pourrait pas être lié à #55535 ?
Mis à jour par Nicolas Roche il y a presque 3 ans
Aucun, c'est juste un pronostique
(il n'y a pas beaucoup de code et j'ai 2 erreurs différentes sur les 2 environnement sur la même actions).
Et en fait ça m'arrangerait parce que je n'ai pas encore d'idée sur la manière de m'y prendre pour reproduire le bug.
Mis à jour par Frédéric Péters il y a presque 3 ans
Alors astuce 1 commencer par avoir une trace qui contient le contenu des variables.
Mis à jour par Benjamin Dauvergne il y a presque 3 ans
Je dirai que visiblement on a du pickle py2 quelquepart, le plus simple ce serait de supprimer l'index et de tout reconstruire plutôt que de chercher un chemin de migration (je n'ai pas l'impression qu'on ait beaucoup de base de connaissance welco en prod, mais je me trompe peut-être).
PS: https://django-haystack.readthedocs.io/en/master/management_commands.html
Mis à jour par Nicolas Roche il y a presque 3 ans
Merci, j'ai collé la conf LOGGING de publik-devinst dans /etc/welco/settings.d/trace_with_variables.py.
Et en fait je réalise que je n'arrive pas à reproduire la trace
(qui semble donc indépendante du fait qu'on ne voit pas s'ajouter les fiches nouvellement enregistrées et que la recheche ne retourne rien)
Et oui, concernant le problème d'origine, supprimer l'index et de tout reconstruire ça me va bien.
edit:
reste que les fiches crées n'apparaissent pas dans la liste, ce qui ne me semble pas lié à l'indexation.
Mis à jour par Frédéric Péters il y a presque 3 ans
- Statut changé de Nouveau à Rejeté
Où ça arrive il y a juste à reconstruire l'index, arrêtons-nous à ça.