Projet

Général

Profil

Bug #55532

UnicodeDecodeError: 'ascii' codec can't decode byte 0x80 in position 4: ordinal not in range(128)

Ajouté par Nicolas Roche il y a presque 3 ans. Mis à jour il y a presque 3 ans.

Statut:
Rejeté
Priorité:
Normal
Assigné à:
-
Catégorie:
-
Version cible:
-
Début:
12 juillet 2021
Echéance:
% réalisé:

0%

Temps estimé:
Patch proposed:
Non
Planning:
Non

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

#1

Mis à jour par Nicolas Roche il y a presque 3 ans

  • Description mis à jour (diff)
#3

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 ?

#4

Mis à jour par Frédéric Péters il y a presque 3 ans

Je ne vois pas le rapport que tu vois.

#5

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.

#6

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.

#7

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

#8

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.

#11

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.

Formats disponibles : Atom PDF