Pagina 1 di 1

Errore interno del server: il codec 'ascii' non riesce a codificare i caratteri nelle posizioni 0-32: ordinale non compreso nell'intervallo (128)

Pubblicato: 19 novembre 2020 - 11:45
di Floflobel
Buongiorno,

Su una macchina client appena installata, ricevo un errore quando provo ad accedere http://localhost:8088/.

Codice: Seleziona tutto

Internal Server Error
The server encountered an unexpected internal server error
(generated by waitress)
Ho notato nei log che c'era un problema ASCII riguardante il campo: "host_info['system_manufacturer']":

Codice: Seleziona tutto

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)
Infatti, quando vado alla console vedo un problema ASCII nei campi "Modello" e "Produttore" del mio computer:
Screenshot_20201119_110716.png
Screenshot_20201119_110716.png (13,06 KB) Visualizzato 8496 volte
(Ho rimosso intenzionalmente il titolo del lavoro e l'indirizzo IP)

Ho circa 28 postazioni di lavoro su 2000 che presentano questo problema.
  • Versione del server WAPT: 1.8.2
    Versione dell'agente WAPT: 1.8.2.7267
    Versione dell'installazione WAPT: 1.8.2.7267
    Versione della distribuzione WAPT: 1.8.2.7267
Hai informazioni su questo problema e sulla sua possibile origine?

Grazie in anticipo.

Re: Errore interno del server - Il codec 'ascii' non riesce a codificare i caratteri nelle posizioni 0-32: ordinale non compreso nell'intervallo (128)

Pubblicato: 20 gennaio 2021 - 14:21
di Floflobel
Ho appena ripreso questa discussione.

Re: Errore interno del server - Il codec 'ascii' non riesce a codificare i caratteri nelle posizioni 0-32: ordinale non compreso nell'intervallo (128)

Pubblicato: 3 febbraio 2021 - 16:33
di Floflobel
Vorrei riprendere questo argomento.

Re: Errore interno del server - Il codec 'ascii' non riesce a codificare i caratteri nelle posizioni 0-32: ordinale non compreso nell'intervallo (128)

Pubblicato: 5 febbraio 2021 - 10:22
di dcardon
Come indicato dal messaggio, il nome del produttore (restituito da dmidecode o wmi) contiene caratteri speciali. È possibile correggere la riga in questione aggiungendo ensure_unicode attorno alla riga host_info['system_manufacturer'].

Re: Errore interno del server - Il codec 'ascii' non riesce a codificare i caratteri nelle posizioni 0-32: ordinale non compreso nell'intervallo (128)

Pubblicato: 8 febbraio 2021 - 17:55
di Floflobel
Grazie per il feedback.

Devo applicare una patch e ricompilare la console WAPT? O esiste un altro modo per farlo?

Re: Errore interno del server - Il codec 'ascii' non riesce a codificare i caratteri nelle posizioni 0-32: ordinale non compreso nell'intervallo (128)

Pubblicato: 11 febbraio 2021 - 13:44
di dcardon
La prossima versione di WAPT sarà in Python 3 e dovrebbe gestire meglio questo scenario. In caso contrario, sì, sarà necessaria una patch.