Page 1 sur 1

Internal Server Error - 'ascii' codec can't encode characters in position 0-32: ordinal not in range(128)

Posté : 19 nov. 2020 - 11:45
par Floflobel
Bonjour,

Sur un poste client fraîchement installé j'ai une erreur lorsque je tente d'accéder à http://localhost:8088/.

Code : Tout sélectionner

Internal Server Error
The server encountered an unexpected internal server error
(generated by waitress)
J'ai remarqué dans les logs qu'il y avait un problème d'ASCII concernant le champ: "host_info['system_manufacturer']":

Code : Tout sélectionner

2020-11-19 10:27:03,398 [waitress       ] ERROR Exception while serving /
Traceback (most recent call last):
  File "C:\Program Files (x86)\wapt\lib\site-packages\waitress\channel.py", line 349, in service
    task.service()
  File "C:\Program Files (x86)\wapt\lib\site-packages\waitress\task.py", line 169, in service
    self.execute()
  File "C:\Program Files (x86)\wapt\lib\site-packages\waitress\task.py", line 439, in execute
    app_iter = self.channel.server.application(environ, start_response)
  File "C:\Program Files (x86)\wapt\lib\site-packages\flask\app.py", line 2463, in __call__
    return self.wsgi_app(environ, start_response)
  File "C:\Program Files (x86)\wapt\lib\site-packages\flask\app.py", line 2449, in wsgi_app
    response = self.handle_exception(e)
  File "C:\Program Files (x86)\wapt\lib\site-packages\flask\app.py", line 1866, in handle_exception
    reraise(exc_type, exc_value, tb)
  File "C:\Program Files (x86)\wapt\lib\site-packages\flask\app.py", line 2446, in wsgi_app
    response = self.full_dispatch_request()
  File "C:\Program Files (x86)\wapt\lib\site-packages\flask\app.py", line 1951, in full_dispatch_request
    rv = self.handle_user_exception(e)
  File "C:\Program Files (x86)\wapt\lib\site-packages\flask\app.py", line 1820, in handle_user_exception
    reraise(exc_type, exc_value, tb)
  File "C:\Program Files (x86)\wapt\lib\site-packages\flask\app.py", line 1949, in full_dispatch_request
    rv = self.dispatch_request()
  File "C:\Program Files (x86)\wapt\lib\site-packages\flask\app.py", line 1935, in dispatch_request
    return self.view_functions[rule.endpoint](**req.view_args)
  File "C:\Program Files (x86)\wapt\waptservice\waptservice_common.py", line 117, in decorated
    return f(*args, **kwargs)
  File "C:\Program Files (x86)\wapt\waptservice\service.py", line 1443, in index
    return render_wapt_template('index.html',**data)
  File "C:\Program Files (x86)\wapt\waptservice\waptservice_common.py", line 1307, in render_wapt_template
    return render_template(template_name_or_list, **context)
  File "C:\Program Files (x86)\wapt\lib\site-packages\flask\templating.py", line 140, in render_template
    ctx.app,
  File "C:\Program Files (x86)\wapt\lib\site-packages\flask\templating.py", line 120, in _render
    rv = template.render(context)
  File "C:\Program Files (x86)\wapt\lib\site-packages\jinja2\environment.py", line 1008, in render
    return self.environment.handle_exception(exc_info, True)
  File "C:\Program Files (x86)\wapt\lib\site-packages\jinja2\environment.py", line 780, in handle_exception
    reraise(exc_type, exc_value, tb)
  File "C:\Program Files (x86)\wapt\waptservice\templates\index.html", line 1, in top-level template code
    {% extends "layout.html" %}
  File "C:\Program Files (x86)\wapt\waptservice\templates\layout.html", line 53, in top-level template code
    {% block content %}
  File "C:\Program Files (x86)\wapt\waptservice\templates\index.html", line 58, in block "content"
    <li>{{ _("System manufacturer : {0}").format(host_info['system_manufacturer']) }}</li>
UnicodeEncodeError: 'ascii' codec can't encode characters in position 0-32: ordinal not in range(128)
Effectivement lorsque je vais sur la console je vois un problème d'ASCII sur le champ "Modèle" et "Constructeur" de mon poste:
Screenshot_20201119_110716.png
Screenshot_20201119_110716.png (13.06 Kio) Vu 5378 fois
(j'ai retiré volontairement le nom du poste ainsi que l'adresse IP)

J'ai environ 28 postes sur 2000 qui ont ce problème.
  • WAPT Server version: 1.8.2
    WAPT Agent version: 1.8.2.7267
    WAPT Setup version: 1.8.2.7267
    WAPT Deploy version: 1.8.2.7267
Auriez-vous des informations au sujet de ce problème et d'où pourrait-il venir ?

Merci d'avance.

Re: Internal Server Error - 'ascii' codec can't encode characters in position 0-32: ordinal not in range(128)

Posté : 20 janv. 2021 - 14:21
par Floflobel
Je lance un petit up du sujet.

Re: Internal Server Error - 'ascii' codec can't encode characters in position 0-32: ordinal not in range(128)

Posté : 03 févr. 2021 - 16:33
par Floflobel
Je me permet de relancer encore le sujet.

Re: Internal Server Error - 'ascii' codec can't encode characters in position 0-32: ordinal not in range(128)

Posté : 05 févr. 2021 - 10:22
par dcardon
comme le message l'indique il y a des caractères spéciaux dans le nom du constructeur (renvoyé par dmidecode ou wmi). Vous pouvez patcher la ligne en question en mettant un ensure_unicode autour de la ligne host_info['system_manufacturer'].

Re: Internal Server Error - 'ascii' codec can't encode characters in position 0-32: ordinal not in range(128)

Posté : 08 févr. 2021 - 17:55
par Floflobel
Merci pour votre retour.

Faut-il patcher la console WAPT et la re-compiler ? Ou y a t"il une autre manière de faire ?

Re: Internal Server Error - 'ascii' codec can't encode characters in position 0-32: ordinal not in range(128)

Posté : 11 févr. 2021 - 13:44
par dcardon
La prochaine version de WAPT va être en Python3 et devrait mieux gérer ce cas de figure. Sinon oui il faudrait patcher.