1477: "Something broke" when publishing a review request

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.
david
#1 david
Do you have the traceback that it sent?
  • +NeedInfo
#2 o3s****@gmai***** (Google Code) (Is this you? Claim this profile.)
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.
chipx86
#3 chipx86
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 "/"?)
#4 o3s****@gmai***** (Google Code) (Is this you? Claim this profile.)
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
#5 o3s****@gmai***** (Google Code) (Is this you? Claim this profile.)
any more information needed for this?
#6 kbot****@gmai***** (Google Code) (Is this you? Claim this profile.)
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?
chipx86
#7 chipx86
You need to run 'rb-site upgrade' on your site. Your database schema is older than
your Review Board version.
david
#8 david
  • -NeedInfo
    +SetupIssue