django encoding issue in password setting
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
OpenStack Dashboard (Horizon) |
Fix Released
|
High
|
Vishal Manchanda |
Bug Description
Env: devstack master branch / devstack ussuri/stable branch
Steps to reproduce:
1. Go to admin - Settings - User Settings
2. Change language from English(en) to 한국어(ko) (or Japanese etc.)
3. Go to 'Change Password' panel and change your password
Then, it makes '500 internal server error'.
Error info:
2020-09-08 06:48:02.024858 DEBUG openstack_
2020-09-08 06:48:02.025560 DEBUG keystoneauth.
2020-09-08 06:48:02.052111 DEBUG keystoneauth.
2020-09-08 06:48:02.052284 DEBUG keystoneauth.
2020-09-08 06:48:02.052313
2020-09-08 06:48:02.052396 DEBUG keystoneauth.
2020-09-08 06:48:02.052686 DEBUG openstack_
2020-09-08 06:48:02.132947 mod_wsgi (pid=22999): Exception occurred processing WSGI script '/opt/stack/
2020-09-08 06:48:02.133017 Traceback (most recent call last):
2020-09-08 06:48:02.133033 File "/usr/local/
2020-09-08 06:48:02.133036 start_response(
2020-09-08 06:48:02.133046 ValueError: unicode object contains non latin-1 characters
Then, I printed response header and logout_reason includes uninterpretable string.
2020-09-08 07:40:56.926214 [('Content-Type', 'text/html; charset=utf-8'), ('Location', '/dashboard/
I debugged horizon codes and I found problem-causing part.
- 'handle' method in 'horizon/
- 'add_logout_reason' function in 'horizon/
In 'add_logout_reason" function, it translates logout_reason message to Korean and adds translated message into cookie.
I think translated message makes errors.
It works without errors when you don't set a password reason message on the cookie or message doesn't include unicode characters.
description: | updated |
Changed in horizon: | |
assignee: | nobody → Vishal Manchanda (vishalmanchanda) |
Hi, I am not to reproduce this bug in master branch at-least, now need check in stable/ussuri branch.