What version are you running?
1.0.9 (updated from 1.0.5.1)
What's the URL of the page containing the problem?
Its confidentional information.
What steps will reproduce the problem?
1. Create some review.
2. Try to update diff with new patch (used update Diff button)
What is the expected output? What do you see instead?
I expect to see updated diff info.
Instead of that I see error message on top of diff screen with text
"Error:
Saving the form failed due to a server error: 0 n/a
Please try again later. If this continues to happen, please report it to your administrator."
If I try to view details, Review Board show me screen with text "Something broke! (Error 500)".
What operating system are you using? What browser?
Windows XP
Firefox 3.6.9
Please provide any additional information below.
memcached restarted after Review Board update, used new installation of browser with clean cache.
Possible it same bug with next issue:
http://code.google.com/p/reviewboard/issues/detail?id=1800
I can not provide patches before and after update, its confidentional information.
I can provide error logs with removed confidentional info:
ERROR:root:Exception thrown for user [confidentional] at http://[confidentional]/api/json/reviewrequests/2279/diff/new/
3516L is not XML serializable
Traceback (most recent call last):
File "/usr/lib/python2.4/site-packages/Django-1.1.1-py2.4.egg/django/core/handlers/base.py", line 92, in get_respon
se
response = callback(request, *callback_args, **callback_kwargs)
File "/usr/lib/python2.4/site-packages/Django-1.1.1-py2.4.egg/django/views/decorators/cache.py", line 45, in _wrapp
ed_view_func
add_never_cache_headers(response)
File "/usr/lib/python2.4/site-packages/Django-1.1.1-py2.4.egg/django/utils/cache.py", line 119, in add_never_cache_
headers
patch_response_headers(response, cache_timeout=-1)
File "/usr/lib/python2.4/site-packages/Django-1.1.1-py2.4.egg/django/utils/cache.py", line 108, in patch_response_h
eaders
response['ETag'] = '"%s"' % md5_constructor(response.content).hexdigest()
File "/usr/lib/python2.4/site-packages/Djblets-0.6.4-py2.4.egg/djblets/webapi/core.py", line 273, in _get_content
content = adapter.encode(self.api_data, request=self.request)
File "/usr/lib/python2.4/site-packages/Djblets-0.6.4-py2.4.egg/djblets/webapi/core.py", line 119, in encode
self.__encode(o, *args, **kwargs)
File "/usr/lib/python2.4/site-packages/Djblets-0.6.4-py2.4.egg/djblets/webapi/core.py", line 136, in __encode
self.__encode(value, *args, **kwargs)
File "/usr/lib/python2.4/site-packages/Djblets-0.6.4-py2.4.egg/djblets/webapi/core.py", line 162, in __encode
raise TypeError("%r is not XML serializable" % (o,))
TypeError: 3516L is not XML serializable
<ModPythonRequest
path:/api/json/reviewrequests/2279/diff/new/,
GET:<QueryDict: {}>,
POST:<QueryDict: {u'parent_diff_path': [u''], u'dummy': [u''], u'basedir': [u'[confidentional]']}>,
COOKIES:{'collapsediffs': 'True',
'rbsessionid': '5a49c7c15879f3778032e122f42b66cb',
's_cc': 'true',
's_sq': '%5B%5BB%5D%5D'},
META:{'AUTH_TYPE': None,
'CONTENT_LENGTH': '60278',
'CONTENT_TYPE': 'multipart/form-data; boundary=---------------------------16216314501615',
'GATEWAY_INTERFACE': 'CGI/1.1',
'HTTP_ACCEPT': 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8',
'HTTP_ACCEPT_CHARSET': 'windows-1251,utf-8;q=0.7,*;q=0.7',
'HTTP_ACCEPT_ENCODING': 'gzip,deflate',
'HTTP_ACCEPT_LANGUAGE': 'ru-ru,ru;q=0.8,en-us;q=0.5,en;q=0.3',
'HTTP_CONNECTION': 'keep-alive',
'HTTP_CONTENT_LENGTH': '60278',
'HTTP_CONTENT_TYPE': 'multipart/form-data; boundary=---------------------------16216314501615',
'HTTP_COOKIE': 'rbsessionid=5a49c7c15879f3778032e122f42b66cb; s_sq=%5B%5BB%5D%5D; s_cc=true; collapsediffs=True',
'HTTP_HOST': '[confidentional]',
'HTTP_KEEP_ALIVE': '115',
'HTTP_REFERER': 'http://[confidentional]/r/2279/',
'HTTP_USER_AGENT': 'Mozilla/5.0 (Windows; U; Windows NT 5.1; ru; rv:1.9.2.9) Gecko/20100824 Firefox/3.6.9 ( .NET CLR 3.5.30729)',
'PATH_INFO': u'/api/json/reviewrequests/2279/diff/new/',
'PATH_TRANSLATED': None,
'QUERY_STRING': None,
'REMOTE_ADDR': '[confidentional]',
'REMOTE_HOST': None,
'REMOTE_IDENT': None,
'REMOTE_USER': None,
'REQUEST_METHOD': 'POST',
'SCRIPT_NAME': '',
'SERVER_NAME': '[confidentional]',
'SERVER_PORT': 80,
'SERVER_PROTOCOL': 'HTTP/1.1',
'SERVER_SOFTWARE': 'mod_python'}>