3291: Error displaying diff: "'ascii' codec can't decode byte 0xfa in position.."

ric***@gmai***** (Google Code) (Is this you? Claim this profile.)
March 14, 2014
What version are you running?
2.0 RC1

What's the URL of the page containing the problem?
/r/38/diff/1-2/

What steps will reproduce the problem?
1. Create review request uploading diff from java language using ISO-8859-1 file Charset.
2. Change the java file, commit in SVN and generate another diff.
3. Upload Revision 2 of diff.
4. Try to compare Revision 1 and Revision 2.

What is the expected output? What do you see instead?
Diff should display diferences between revisions for the java file.
Instead, the error appears:
'ascii' codec can't decode byte 0xfa in position 10: ordinal not in range(128);

Trace:
Traceback (most recent call last):
  File "/usr/local/lib/python2.7/dist-packages/ReviewBoard-2.0rc1-py2.7.egg/reviewboard/diffviewer/views.py", line 236, in get
    renderer = self.create_renderer(context, *args, **kwargs)
  File "/usr/local/lib/python2.7/dist-packages/ReviewBoard-2.0rc1-py2.7.egg/reviewboard/reviews/views.py", line 1098, in create_renderer
    *args, **kwargs)
  File "/usr/local/lib/python2.7/dist-packages/ReviewBoard-2.0rc1-py2.7.egg/reviewboard/diffviewer/views.py", line 326, in create_renderer
    self.diff_file = self._get_requested_diff_file()
  File "/usr/local/lib/python2.7/dist-packages/ReviewBoard-2.0rc1-py2.7.egg/reviewboard/diffviewer/views.py", line 367, in _get_requested_diff_file
    request=self.request)
  File "/usr/local/lib/python2.7/dist-packages/ReviewBoard-2.0rc1-py2.7.egg/reviewboard/diffviewer/diffutils.py", line 374, in populate_diff_chunks
    chunks = generator.get_chunks()
  File "/usr/local/lib/python2.7/dist-packages/ReviewBoard-2.0rc1-py2.7.egg/reviewboard/diffviewer/chunk_generator.py", line 148, in get_chunks
    large_data=True)
  File "/usr/local/lib/python2.7/dist-packages/Djblets-0.8beta3-py2.7.egg/djblets/cache/backend.py", line 109, in cache_memoize
    data = lookup_callable()
  File "/usr/local/lib/python2.7/dist-packages/ReviewBoard-2.0rc1-py2.7.egg/reviewboard/diffviewer/chunk_generator.py", line 147, in <lambda>
    lambda: list(self._get_chunks_uncached()),
  File "/usr/local/lib/python2.7/dist-packages/ReviewBoard-2.0rc1-py2.7.egg/reviewboard/diffviewer/chunk_generator.py", line 253, in _get_chunks_uncached
    for tag, i1, i2, j1, j2, meta in opcodes_generator:
  File "/usr/local/lib/python2.7/dist-packages/ReviewBoard-2.0rc1-py2.7.egg/reviewboard/diffviewer/opcode_generator.py", line 70, in __iter__
    self._group_opcodes(opcodes)
  File "/usr/local/lib/python2.7/dist-packages/ReviewBoard-2.0rc1-py2.7.egg/reviewboard/diffviewer/opcode_generator.py", line 141, in _group_opcodes
    for group_index, group in enumerate(opcodes):
  File "/usr/local/lib/python2.7/dist-packages/ReviewBoard-2.0rc1-py2.7.egg/reviewboard/diffviewer/opcode_generator.py", line 137, in _apply_meta_processors
    for opcode in opcodes:
  File "/usr/local/lib/python2.7/dist-packages/ReviewBoard-2.0rc1-py2.7.egg/reviewboard/diffviewer/processors.py", line 174, in post_process_filtered_equals
    for tag, i1, i2, j1, j2, meta in opcodes:
  File "/usr/local/lib/python2.7/dist-packages/ReviewBoard-2.0rc1-py2.7.egg/reviewboard/diffviewer/opcode_generator.py", line 87, in _generate_opcode_meta
    for tag, i1, i2, j1, j2 in opcodes:
  File "/usr/local/lib/python2.7/dist-packages/ReviewBoard-2.0rc1-py2.7.egg/reviewboard/diffviewer/opcode_generator.py", line 83, in _apply_processors
    for opcode in opcodes:
  File "/usr/local/lib/python2.7/dist-packages/ReviewBoard-2.0rc1-py2.7.egg/reviewboard/diffviewer/processors.py", line 70, in filter_interdiff_opcodes
    orig_ranges = _find_range_info(filediff_data)
  File "/usr/local/lib/python2.7/dist-packages/ReviewBoard-2.0rc1-py2.7.egg/reviewboard/diffviewer/processors.py", line 38, in _find_range_info
    if line.startswith(('-', '+')):
UnicodeDecodeError: 'ascii' codec can't decode byte 0xfa in position 10: ordinal not in range(128)

What operating system are you using? What browser?
Debian 7.3. Chrome version 33.0.1750.146.

Please provide any additional information below.
david
#1 david
Fixed in release-2.0.x (b765ab6). Thanks!
  • +Fixed
#2 ric***@gmai***** (Google Code) (Is this you? Claim this profile.)
Beautiful! Thanks!