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.