964: perforce - error post-review chached CL description cause 500 internal server error

sriz****@gmai***** (Google Code) (Is this you? Claim this profile.)
Nov. 28, 2009
What's the URL of the page containing the problem?
post-review

What steps will reproduce the problem?
1. create a CL in perforce containing "%HermesFilmData" in the text
2. running post-review to create the review request you will receive a
failure for HTTP Error 500:Internal Server Error
3. via p4 command remove "% and " from the text of the CL in Perforce
4. run post-review againg.

What is the expected output? What do you see instead?
After changing the text of the CL i'm expecting that the problem is solved
but seems that is somewhere cached. i'm still receiving mail with:
[Django] Error (EXTERNAL IP): /api/json/reviewrequests/new/

Traceback (most recent call last):

  File
"/usr/lib/python2.5/site-packages/Django-1.0.2_final-py2.5.egg/django/core/handlers/base.py",
line 86, in get_response
    response = callback(request, *callback_args, **callback_kwargs)

  File
"/usr/lib/python2.5/site-packages/Django-1.0.2_final-py2.5.egg/django/views/decorators/cache.py",
line 44, in _wrapped_view_func
    response = view_func(request, *args, **kwargs)

  File
"/usr/lib/python2.5/site-packages/Djblets-0.5alpha3-py2.5.egg/djblets/webapi/decorators.py",
line 32, in _checklogin
    response = view_func(request, *args, **kwargs)

  File
"/usr/lib/python2.5/site-packages/Django-1.0.2_final-py2.5.egg/django/views/decorators/http.py",
line 31, in inner
    return func(request, *args, **kwargs)

  File
"/usr/lib/python2.5/site-packages/ReviewBoard-1.0alpha5.dev_20090310-py2.5.egg/reviewboard/webapi/json.py",
line 408, in new_review_request
    user, repository, request.POST.get('changenum', None))

  File
"/usr/lib/python2.5/site-packages/ReviewBoard-1.0alpha5.dev_20090310-py2.5.egg/reviewboard/reviews/managers.py",
line 26, in create
    repository=repository)

  File
"/usr/lib/python2.5/site-packages/Django-1.0.2_final-py2.5.egg/django/db/models/manager.py",
line 93, in get
    return self.get_query_set().get(*args, **kwargs)

  File
"/usr/lib/python2.5/site-packages/Django-1.0.2_final-py2.5.egg/django/db/models/query.py",
line 304, in get
    num = len(clone)

  File
"/usr/lib/python2.5/site-packages/Django-1.0.2_final-py2.5.egg/django/db/models/query.py",
line 160, in __len__
    self._result_cache = list(self.iterator())

  File
"/usr/lib/python2.5/site-packages/Django-1.0.2_final-py2.5.egg/django/db/models/query.py",
line 275, in iterator
    for row in self.query.results_iter():

  File
"/usr/lib/python2.5/site-packages/Django-1.0.2_final-py2.5.egg/django/db/models/sql/query.py",
line 206, in results_iter
    for rows in self.execute_sql(MULTI):

  File
"/usr/lib/python2.5/site-packages/Django-1.0.2_final-py2.5.egg/django/db/models/sql/query.py",
line 1734, in execute_sql
    cursor.execute(sql, params)

  File
"/usr/lib/python2.5/site-packages/Django-1.0.2_final-py2.5.egg/django/db/backends/sqlite3/base.py",
line 168, in execute
    return Database.Cursor.execute(self, query, params)

OperationalError: Could not decode to UTF-8 column 'description' with text
'Added new code to update "%HermesFilmData" commment when the customer
perform a typeset from print product.
'


<ModPythonRequest
path:/api/json/reviewrequests/new/,
GET:<QueryDict: {}>,
POST:<QueryDict: {u'repository_path':
[u'perforce-it.mediacommand.net:1666'], u'submit_as': [u'fduva'],
u'changenum': [u'18096']}>,
COOKIES:{'rbsessionid': 'f1122eb6fadff6de54bf9dcd33ad1566'},
META:{'AUTH_TYPE': None,
 'CONTENT_LENGTH': 0L,
 'CONTENT_TYPE': None,
 'GATEWAY_INTERFACE': 'CGI/1.1',
 'HTTP_ACCEPT_ENCODING': 'identity',
 'HTTP_CONNECTION': 'close',
 'HTTP_CONTENT_LENGTH': '363',
 'HTTP_CONTENT_TYPE': 'multipart/form-data;
boundary=127.0.1.1.0.5801.1237294792.167.2',
 'HTTP_COOKIE': 'rbsessionid=f1122eb6fadff6de54bf9dcd33ad1566',
 'HTTP_HOST': 'scm-it',
 'HTTP_USER_AGENT': 'post-review/0.8',
 'PATH_INFO': u'/api/json/reviewrequests/new/',
 'PATH_TRANSLATED': None,
 'QUERY_STRING': None,
 'REMOTE_ADDR': '127.0.1.1',
 'REMOTE_HOST': None,
 'REMOTE_IDENT': None,
 'REMOTE_USER': None,
 'REQUEST_METHOD': 'POST',
 'SCRIPT_NAME': '',
 'SERVER_NAME': 'scm-it.mediacommand.net',
 'SERVER_PORT': 0,
 'SERVER_PROTOCOL': 'HTTP/1.1',
 'SERVER_SOFTWARE': 'mod_python'}>


What operating system are you using? What browser?
ubuntu 8.10
reviewboard-1.0alpha5.dev_20090310-py2.5.egg
memcache 1.2.2


Please provide any additional information below.
#1 Bhaska*******@gmai***** (Google Code) (Is this you? Claim this profile.)
I am receving this error at the time of post review. Does any one have solution for 
this??

[Django] Error (EXTERNAL IP): /api/json/reviewrequests/new/
david
#2 david
I think this should be fixed in the code now, but if not you'll need to check your
mysql column charset types
  • +Fixed