3346: Creating of new review request fails if national (lithuanian) chars are present in svn commit comment or diff

nemunas.********@itreeg******* (Google Code) (Is this you? Claim this profile.)
david
david
May 19, 2014
What version are you running?
2.0 RC3

What's the URL of the page containing the problem?
http://[host]/r/new/


What steps will reproduce the problem?
1. reviewboard is configured to use svn as a repository
2. open reviewboard website -> New Review Request
3. commits are displayed -> click on svn commit
4. if commit contains comment or diff with lithuanian accented (utf) chars
(for example: "...susiję..."),
error is displayed: HTTP 500 INTERNAL SERVER ERROR

Error from the log: 
================================================================
2014-05-16 10:16:31,752 - ERROR -  - Exception thrown for user reviewboard at http://review-board-test.itreegroup.eu/api/review-requests/

'ascii' codec can't decode byte 0xc4 in position 20: ordinal not in range(128)
Traceback (most recent call last):
  File "/usr/lib/python2.6/site-packages/Django-1.6.4-py2.6.egg/django/core/handlers/base.py", line 114, in get_response
    response = wrapped_callback(request, *callback_args, **callback_kwargs)
  File "/usr/lib/python2.6/site-packages/Django-1.6.4-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.4-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.8rc2-py2.6.egg/djblets/webapi/resources.py", line 451, in __call__
    result = view(request, api_format=api_format, *args, **kwargs)
  File "/usr/lib/python2.6/site-packages/Djblets-0.8rc2-py2.6.egg/djblets/webapi/resources.py", line 672, in post
    return self.create(*args, **kwargs)
  File "/usr/lib/python2.6/site-packages/Djblets-0.8rc2-py2.6.egg/djblets/webapi/decorators.py", line 115, in _call
    return view_func(*args, **kwargs)
  File "/usr/lib/python2.6/site-packages/ReviewBoard-2.0rc3-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.8rc2-py2.6.egg/djblets/webapi/decorators.py", line 115, in _call
    return view_func(*args, **kwargs)
  File "/usr/lib/python2.6/site-packages/Djblets-0.8rc2-py2.6.egg/djblets/webapi/decorators.py", line 136, in _checklogin
    return view_func(*args, **kwargs)
  File "/usr/lib/python2.6/site-packages/Djblets-0.8rc2-py2.6.egg/djblets/webapi/decorators.py", line 115, in _call
    return view_func(*args, **kwargs)
  File "/usr/lib/python2.6/site-packages/Djblets-0.8rc2-py2.6.egg/djblets/webapi/decorators.py", line 115, in _call
    return view_func(*args, **kwargs)
  File "/usr/lib/python2.6/site-packages/Djblets-0.8rc2-py2.6.egg/djblets/webapi/decorators.py", line 285, in _validate
    return view_func(*args, **new_kwargs)
  File "/usr/lib/python2.6/site-packages/ReviewBoard-2.0rc3-py2.6.egg/reviewboard/webapi/resources/review_request.py", line 561, in create
    create_from_commit_id=create_from_commit_id)
  File "/usr/lib/python2.6/site-packages/ReviewBoard-2.0rc3-py2.6.egg/reviewboard/reviews/managers.py", line 135, in create
    review_request.update_from_commit_id(commit_id)
  File "/usr/lib/python2.6/site-packages/ReviewBoard-2.0rc3-py2.6.egg/reviewboard/reviews/models/base_review_request_details.py", line 186, in update_from_commit_id
    self.update_from_committed_change(commit_id)
  File "/usr/lib/python2.6/site-packages/ReviewBoard-2.0rc3-py2.6.egg/reviewboard/reviews/models/base_review_request_details.py", line 234, in update_from_committed_change
    summary, message = commit.split_message()
  File "/usr/lib/python2.6/site-packages/ReviewBoard-2.0rc3-py2.6.egg/reviewboard/scmtools/core.py", line 96, in split_message
    parts = message.split('\n', 1)
UnicodeDecodeError: 'ascii' codec can't decode byte 0xc4 in position 20: ordinal not in range(128)
================================================================

What is the expected output? What do you see instead?
Review request should be created without errors...

What operating system are you using? What browser?
Reviewboard serverside is installed on CentOS 6.5
Client OS, Browser: Windows 7 (Lithuanian locale), FireFox 29.0.1

Please provide any additional information below.
david
#1 david
  • +PendingReview
  • +Component-SCMTools
  • +david
david
#2 david
Fixed in release-2.0.x (f16266e). Thanks!
  • -PendingReview
    +Fixed