What version are you running?
2.0.14
What's the URL of the page containing the problem?
http://review.aurea.local/r/1043/
What steps will reproduce the problem?
1. Edit the description of a review.
2. Click Okay to save changes.
3. The page just hangs there on the loading and there is an error in the logs.
What is the expected output? What do you see instead?
The description would be properly saved instead of keep spinning on the "Loading..."
What operating system are you using? What browser?
Amazon Linux
Please provide any additional information below.
There are a few other bugs related to encoding that have been logged: #3803, #3796
With different stack traces in the logs. The current stack trace:
2015-03-11 20:04:29,151 - ERROR - - Exception thrown for user XXXX at http://review.XXXX/api/review-requests/1043/?api_format=json&force-text-type=html&include-text-t ypes=raw
'ascii' codec can't decode byte 0xe2 in position 189: ordinal not in range(128). -- Note: Markdown only accepts unicode input!
Traceback (most recent call last):
File "/usr/lib/python2.6/site-packages/Django-1.6.10-py2.6.egg/django/core/handlers/base.py", line 112, in get_response
response = wrapped_callback(request, *callback_args, **callback_kwargs)
File "/usr/lib/python2.6/site-packages/Django-1.6.10-py2.6.egg/django/views/decorators/cache.py", line 52, in _wrapped_view_func
response = view_func(request, *args, **kwargs)
File "/usr/lib/python2.6/site-packages/Django-1.6.10-py2.6.egg/django/views/decorators/vary.py", line 19, in inner_func
response = func(*args, **kwargs)
File "/usr/lib/python2.6/site-packages/Djblets-0.8.16-py2.6.egg/djblets/webapi/resources.py", line 498, in __call__
request, method, view, api_format=api_format, *args, **kwargs)
File "/usr/lib/python2.6/site-packages/Djblets-0.8.16-py2.6.egg/djblets/webapi/resources.py", line 569, in call_method_view
return view(request, *args, **kwargs)
File "/usr/lib/python2.6/site-packages/Djblets-0.8.16-py2.6.egg/djblets/util/decorators.py", line 78, in _call
f = augmented_func(*args, **kwargs)
File "/usr/lib/python2.6/site-packages/Djblets-0.8.16-py2.6.egg/djblets/webapi/decorators.py", line 117, in _call
return view_func(*args, **kwargs)
File "/usr/lib/python2.6/site-packages/ReviewBoard-2.0.14-py2.6.egg/reviewboard/webapi/decorators.py", line 31, in _check
return webapi_login_required(view_func)(*args, **kwargs)
File "/usr/lib/python2.6/site-packages/Djblets-0.8.16-py2.6.egg/djblets/webapi/decorators.py", line 117, in _call
return view_func(*args, **kwargs)
File "/usr/lib/python2.6/site-packages/Djblets-0.8.16-py2.6.egg/djblets/webapi/decorators.py", line 138, in _checklogin
return view_func(*args, **kwargs)
File "/usr/lib/python2.6/site-packages/Djblets-0.8.16-py2.6.egg/djblets/webapi/decorators.py", line 117, in _call
return view_func(*args, **kwargs)
File "/usr/lib/python2.6/site-packages/ReviewBoard-2.0.14-py2.6.egg/reviewboard/webapi/decorators.py", line 110, in _check
return view_func(*args, **kwargs)
File "/usr/lib/python2.6/site-packages/Djblets-0.8.16-py2.6.egg/djblets/util/decorators.py", line 78, in _call
f = augmented_func(*args, **kwargs)
File "/usr/lib/python2.6/site-packages/Djblets-0.8.16-py2.6.egg/djblets/webapi/decorators.py", line 117, in _call
return view_func(*args, **kwargs)
File "/usr/lib/python2.6/site-packages/Djblets-0.8.16-py2.6.egg/djblets/webapi/resources.py", line 790, in get
etag = self.get_etag(request, obj)
File "/usr/lib/python2.6/site-packages/Djblets-0.8.16-py2.6.egg/djblets/webapi/resources.py", line 1275, in get_etag
encode_etag=False)
File "/usr/lib/python2.6/site-packages/Djblets-0.8.16-py2.6.egg/djblets/webapi/resources.py", line 1305, in generate_etag
etag = repr(self.serialize_object(obj, request=request, *kwargs))
File "/usr/lib/python2.6/site-packages/ReviewBoard-2.0.14-py2.6.egg/reviewboard/webapi/mixins.py", line 92, in serialize_object
field, force_text_type, getter)
File "/usr/lib/python2.6/site-packages/ReviewBoard-2.0.14-py2.6.egg/reviewboard/webapi/mixins.py", line 141, in _serialize_text_info
value, field_is_rich_text, force_text_type)
File "/usr/lib/python2.6/site-packages/ReviewBoard-2.0.14-py2.6.egg/reviewboard/webapi/mixins.py", line 226, in _normalize_text
text = render_markdown(text)
File "/usr/lib/python2.6/site-packages/ReviewBoard-2.0.14-py2.6.egg/reviewboard/reviews/markdown_utils.py", line 322, in render_markdown
return markdown(text, **MARKDOWN_KWARGS)
File "/usr/lib/python2.6/site-packages/markdown/__init__.py", line 411, in markdown
return md.convert(text)
File "/usr/lib/python2.6/site-packages/markdown/__init__.py", line 279, in convert
source = util.text_type(source)
UnicodeDecodeError: 'ascii' codec can't decode byte 0xe2 in position 189: ordinal not in range(128). -- Note: Markdown only accepts unicode input!