1477: "Something broke" when publishing a review request
- SetupIssue
- Review Board
| nadias******@gmai***** (Google Code) (Is this you? Claim this profile.) | |
| May 26, 2010 |
What version are you running? 1.1 alpha2 What's the URL of the page containing the problem? /api/json/reviewrequests/9/publish/ What steps will reproduce the problem? 1. post-review from a subversion repository 2. Fill in the summary and description, as well as the review group 3. Click publish What is the expected output? What do you see instead? I expect it to publish, instead I get a "Something broke" message. What operating system are you using? What browser? Chrome 4.0 on Windows 7 is the client Python 2.6 on Windows 2003 32-bit is the server Please provide any additional information below. Error Code: 500 Error Text: Internal Server Error Request URL: /api/json/reviewrequests/9/publish/ Request Data: (none) Something broke! (Error 500) It appears something broke when you tried to go to here. This is either a bug in Review Board or a server configuration error. Please report this to your administrator.
I had similar problems with two cases:
* the 'Base Directory' being empty, though the diff references the full subversion
URL (without leading /)
Traceback (most recent call last):
File
"/usr/lib/python2.5/site-packages/Django-1.1.1-py2.5.egg/django/core/handlers/base.py",
line 92, in get_response
response = callback(request, *callback_args, **callback_kwargs)
File "/usr/lib/python2.5/site-packages/Djblets-0.5.7-py2.5.egg/djblets/auth/util.py",
line 46, in _checklogin
return view_func(request, *args, **kwargs)
File
"/home/reviewboard/site_packages/lib/python2.5/site-packages/ReviewBoard-1.5beta1-py2.5.egg/reviewboard/reviews/views.py",
line 69, in new_review_request
parent_diff_file=request.FILES.get('parent_diff_path'))
File
"/home/reviewboard/site_packages/lib/python2.5/site-packages/ReviewBoard-1.5beta1-py2.5.egg/reviewboard/reviews/forms.py",
line 183, in create
attach_to_history=True)
File
"/home/reviewboard/site_packages/lib/python2.5/site-packages/ReviewBoard-1.5beta1-py2.5.egg/reviewboard/reviews/forms.py",
line 235, in create
history)
File
"/home/reviewboard/site_packages/lib/python2.5/site-packages/ReviewBoard-1.5beta1-py2.5.egg/reviewboard/diffviewer/forms.py",
line 57, in create
raise NoBaseDirError(_('The "Base Diff Path" field is required'))
NoBaseDirError: The "Base Diff Path" field is required
* the path not filling the gap between the patch and the repository URL:
there is /foo/bar/blub/bla.cpp
Base Diff Path: /foo
Path in Patch: blub/bla.cpp
File
"/usr/lib/python2.5/site-packages/Django-1.1.1-py2.5.egg/django/core/handlers/base.py",
line 92, in get_response
response = callback(request, *callback_args, **callback_kwargs)
File "/usr/lib/python2.5/site-packages/Djblets-0.5.7-py2.5.egg/djblets/auth/util.py",
line 46, in _checklogin
return view_func(request, *args, **kwargs)
File
"/home/reviewboard/site_packages/lib/python2.5/site-packages/ReviewBoard-1.5beta1-py2.5.egg/reviewboard/reviews/views.py",
line 69, in new_review_request
parent_diff_file=request.FILES.get('parent_diff_path'))
File
"/home/reviewboard/site_packages/lib/python2.5/site-packages/ReviewBoard-1.5beta1-py2.5.egg/reviewboard/reviews/forms.py",
line 183, in create
attach_to_history=True)
File
"/home/reviewboard/site_packages/lib/python2.5/site-packages/ReviewBoard-1.5beta1-py2.5.egg/reviewboard/reviews/forms.py",
line 235, in create
history)
File
"/home/reviewboard/site_packages/lib/python2.5/site-packages/ReviewBoard-1.5beta1-py2.5.egg/reviewboard/diffviewer/forms.py",
line 63, in create
diff_file, basedir, check_existance=(not parent_diff_file)))
File
"/home/reviewboard/site_packages/lib/python2.5/site-packages/ReviewBoard-1.5beta1-py2.5.egg/reviewboard/diffviewer/forms.py",
line 143, in _process_files
raise FileNotFoundError(filename, revision)
FileNotFoundError: The file 'blub/bla.cpp' (r2509) could not be found in the repository
The error shown to the user is similar to the first.
Can you show an example of what the configured repository URL looks like, what the filename in the diff looks like, and what the base path was? (And whether it worked when using "/"?)
Its configured like this: http://svnserve.o3sis.com.com/some-repo/trunk And, yes it worked when using just / in the first case. fancily the patches with path didn't contain a leading slash either: bla/blub/foo.cpp so it seems to put the slash inbetween if theres a path in the diff
any more information needed for this?
We are testing the 1.5 beta and we have the same problem, error messages look similar but I will paste them
below for convenience.
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_response
response = callback(request, *callback_args, **callback_kwargs)
File "/usr/lib/python2.4/site-packages/ReviewBoard-1.5beta1-
py2.4.egg/reviewboard/accounts/decorators.py", line 27, in _check
return view_func(*args, **kwargs)
File "/usr/lib/python2.4/site-packages/ReviewBoard-1.5beta1-py2.4.egg/reviewboard/reviews/views.py",
line 134, in review_detail
last_activity_time, updated_object = review_request.get_last_activity()
File "/usr/lib/python2.4/site-packages/ReviewBoard-1.5beta1-py2.4.egg/reviewboard/reviews/models.py",
line 398, in get_last_activity
diffset = self.diffset_history.diffsets.latest()
File "/usr/lib/python2.4/site-packages/Django-1.1.1-py2.4.egg/django/db/models/manager.py", line 150,
in latest
return self.get_query_set().latest(*args, **kwargs)
File "/usr/lib/python2.4/site-packages/Django-1.1.1-py2.4.egg/django/db/models/query.py", line 357, in
latest
return obj.get()
File "/usr/lib/python2.4/site-packages/Django-1.1.1-py2.4.egg/django/db/models/query.py", line 300, in
get
num = len(clone)
File "/usr/lib/python2.4/site-packages/Django-1.1.1-py2.4.egg/django/db/models/query.py", line 81, in
__len__
self._result_cache = list(self.iterator())
File "/usr/lib/python2.4/site-packages/Django-1.1.1-py2.4.egg/django/db/models/query.py", line 238, in
iterator
for row in self.query.results_iter():
File "/usr/lib/python2.4/site-packages/Django-1.1.1-py2.4.egg/django/db/models/sql/query.py", line
287, in results_iter
for rows in self.execute_sql(MULTI):
File "/usr/lib/python2.4/site-packages/Django-1.1.1-py2.4.egg/django/db/models/sql/query.py", line
2369, in execute_sql
cursor.execute(sql, params)
File "/usr/lib/python2.4/site-packages/Django-1.1.1-py2.4.egg/django/db/backends/mysql/base.py", line
84, in execute
return self.cursor.execute(query, args)
File "/usr/lib/python2.4/site-packages/MySQL_python-1.2.3c1-py2.4-linux-
i686.egg/MySQLdb/cursors.py", line 173, in execute
File "/usr/lib/python2.4/site-packages/MySQL_python-1.2.3c1-py2.4-linux-
i686.egg/MySQLdb/connections.py", line 36, in defaulterrorhandler
OperationalError: (1054, "Unknown column 'diffviewer_diffset.basedir' in 'field list'")
<ModPythonRequest
path:/r/514/,
GET:<QueryDict: {}>,
POST:<QueryDict: {}>,
COOKIES:{'rbsessionid': '4b8824be55eb13151bcec50582536c4e'},
META:{'AUTH_TYPE': None,
'CONTENT_LENGTH': 0,
'CONTENT_TYPE': None,
'GATEWAY_INTERFACE': 'CGI/1.1',
'HTTP_ACCEPT': 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8',
'HTTP_ACCEPT_CHARSET': 'ISO-8859-1,utf-8;q=0.7,*;q=0.7',
'HTTP_ACCEPT_ENCODING': 'gzip,deflate',
'HTTP_ACCEPT_LANGUAGE': 'en-us,en;q=0.5',
'HTTP_CONNECTION': 'keep-alive',
'HTTP_COOKIE': 'rbsessionid=4b8824be55eb13151bcec50582536c4e',
'HTTP_HOST': 'testrbsrv',
'HTTP_KEEP_ALIVE': '300',
'HTTP_REFERER': 'http://testrbsrv/dashboard/?view=to-group&group=NetbookReviewers',
'HTTP_USER_AGENT': 'Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.1.7) Gecko/20091221
Firefox/3.5.7 (.NET CLR 3.5.30729)',
'PATH_INFO': u'/r/514/',
'PATH_TRANSLATED': None,
'QUERY_STRING': None,
'REMOTE_ADDR': '192.168.50.186',
'REMOTE_HOST': None,
'REMOTE_IDENT': None,
'REMOTE_USER': None,
'REQUEST_METHOD': 'GET',
'SCRIPT_NAME': '',
'SERVER_NAME': 'testrbsrv.mdigitalm.com',
'SERVER_PORT': 80,
'SERVER_PROTOCOL': 'HTTP/1.1',
'SERVER_SOFTWARE': 'mod_python'}>
Any idea when this will be addressed?
You need to run 'rb-site upgrade' on your site. Your database schema is older than your Review Board version.