1737: Exception is thrown when adding a private GitHub repository
- SetupIssue
- Review Board
kevin.******@gmai***** (Google Code) (Is this you? Claim this profile.) | |
Sept. 26, 2010 |
What version are you running? 1.5RC1 What's the URL of the page containing the problem? http://reviews.kevmaster.com/admin/db/scmtools/repository/add/ What steps will reproduce the problem? 1. Add new repository: Hosting service "GitHub (private)" 2. Fill out all data 3. Hit "Save" What is the expected output? What do you see instead? Expected: repository gets added. Actual: 500 page. What operating system are you using? What browser? OS X 10.6.4 Chrome 5.0, Firefox 3.6.8 (error happens in both) Please provide any additional information below. Error log dump is below: ERROR:root:Exception thrown for user admin at http://reviews.kevmaster.com/admin/db/scmtools/repository/add/ 'tool' Traceback (most recent call last): File "/home3/kevmaste/.local/lib/python2.4/site-packages/Django-1.2.1-py2.4.egg/django/core/handlers/base.py", line 100, in get_response response = callback(request, *callback_args, **callback_kwargs) File "/home3/kevmaste/.local/lib/python2.4/site-packages/Django-1.2.1-py2.4.egg/django/contrib/admin/sites.py", line 512, in root return self.model_page(request, *url.split('/', 2)) File "/home3/kevmaste/.local/lib/python2.4/site-packages/Django-1.2.1-py2.4.egg/django/views/decorators/cache.py", line 69, in _wrapped_view_func response = view_func(request, *args, **kwargs) File "/home3/kevmaste/.local/lib/python2.4/site-packages/Django-1.2.1-py2.4.egg/django/contrib/admin/sites.py", line 531, in model_page return admin_obj(request, rest_of_url) File "/home3/kevmaste/.local/lib/python2.4/site-packages/Django-1.2.1-py2.4.egg/django/contrib/admin/options.py", line 1190, in __call__ return self.add_view(request) File "/home3/kevmaste/.local/lib/python2.4/site-packages/Django-1.2.1-py2.4.egg/django/utils/decorators.py", line 21, in _wrapper return decorator(bound_func)(*args, **kwargs) File "/home3/kevmaste/.local/lib/python2.4/site-packages/Django-1.2.1-py2.4.egg/django/utils/decorators.py", line 76, in _wrapped_view response = view_func(request, *args, **kwargs) File "/home3/kevmaste/.local/lib/python2.4/site-packages/Django-1.2.1-py2.4.egg/django/utils/decorators.py", line 17, in bound_func return func(self, *args2, **kwargs2) File "/home3/kevmaste/.local/lib/python2.4/site-packages/Django-1.2.1-py2.4.egg/django/db/transaction.py", line 299, in _commit_on_success res = func(*args, **kw) File "/home3/kevmaste/.local/lib/python2.4/site-packages/Django-1.2.1-py2.4.egg/django/contrib/admin/options.py", line 777, in add_view if form.is_valid(): File "/home3/kevmaste/.local/lib/python2.4/site-packages/ReviewBoard-1.5rc1-py2.4.egg/reviewboard/scmtools/forms.py", line 577, in is_valid return (super(RepositoryForm, self).is_valid() and File "/home3/kevmaste/.local/lib/python2.4/site-packages/Django-1.2.1-py2.4.egg/django/forms/forms.py", line 121, in is_valid return self.is_bound and not bool(self.errors) File "/home3/kevmaste/.local/lib/python2.4/site-packages/Django-1.2.1-py2.4.egg/django/forms/forms.py", line 112, in _get_errors self.full_clean() File "/home3/kevmaste/.local/lib/python2.4/site-packages/ReviewBoard-1.5rc1-py2.4.egg/reviewboard/scmtools/forms.py", line 499, in full_clean return super(RepositoryForm, self).full_clean() File "/home3/kevmaste/.local/lib/python2.4/site-packages/Django-1.2.1-py2.4.egg/django/forms/forms.py", line 268, in full_clean self._clean_form() File "/home3/kevmaste/.local/lib/python2.4/site-packages/Django-1.2.1-py2.4.egg/django/forms/forms.py", line 296, in _clean_form self.cleaned_data = self.clean() File "/home3/kevmaste/.local/lib/python2.4/site-packages/ReviewBoard-1.5rc1-py2.4.egg/reviewboard/scmtools/forms.py", line 515, in clean self._clean_hosting_info() File "/home3/kevmaste/.local/lib/python2.4/site-packages/ReviewBoard-1.5rc1-py2.4.egg/reviewboard/scmtools/forms.py", line 447, in _clean_hosting_info tool_name = self.cleaned_data['tool'].name KeyError: 'tool'
The admin account just received this email containing the post-data for the failing request. Hope this helps. <WSGIRequest GET:<QueryDict: {}>, POST:<QueryDict: {u'username': [u'hosting@partyearth.com'], u'name': [u'Partyearth'], u'bug_tracker_type': [u'none'], u'encoding': [u''], u'tool': [u'2'], u'api_token': [u'xxxxxxx'], u'bug_tracker_project_name': [u'Partyearth'], u'hosting_project_name': [u'Partyearth'], u'bug_tracker_base_url': [u''], u'visible': [u'on'], u'hosting_type': [u'github-private'], u'bug_tracker_owner': [u''], u'_save': [u'Save'], u'raw_file_url': [u''], u'bug_tracker': [u''], u'path': [u''], u'csrfmiddlewaretoken': [u'46fd13a07a342baa7c4ba8397e2e65be'], u'password': [u'pe4life!'], u'mirror_path': [u''], u'hosting_owner': [u'partyearth']}>, COOKIES:{'csrftoken': '46fd13a07a342baa7c4ba8397e2e65be', 'rbsessionid': 'ebd5c17c7efcd94f605785518577a94d'}, META:{'CONTENT_LENGTH': '2448', 'CONTENT_TYPE': 'multipart/form-data; boundary=---------------------------168072824752491622650073', 'CSRF_COOKIE': '46fd13a07a342baa7c4ba8397e2e65be', 'DOCUMENT_ROOT': '/home3/kevmaste/public_html/reviews', '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=ebd5c17c7efcd94f605785518577a94d; csrftoken=46fd13a07a342baa7c4ba8397e2e65be', 'HTTP_HOST': 'reviews.kevmaster.com', 'HTTP_KEEP_ALIVE': '115', 'HTTP_REFERER': 'http://reviews.kevmaster.com/admin/db/scmtools/repository/add/', 'HTTP_USER_AGENT': 'Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.6; en-US; rv:1.9.2.8) Gecko/20100722 Firefox/3.6.8', 'PATH': '/bin:/usr/bin:/sbin:/usr/sbin:/usr/local/bin:/usr/local/sbin', 'PATH_INFO': u'/admin/db/scmtools/repository/add/', 'PATH_TRANSLATED': 'redirect:/reviewboard.fcgi/admin/db/scmtools/repository/add//db/scmtools/repository/add/', 'QUERY_STRING': '', 'REDIRECT_STATUS': '200', 'REDIRECT_UNIQUE_ID': 'TE3hZ0rc12UAADR2IQ8AAACN', 'REDIRECT_URL': '/admin/db/scmtools/repository/add/', 'REDIRECT_file_gzip': '/ramdisk/cpud/status', 'REMOTE_ADDR': '99.107.206.17', 'REMOTE_PORT': '51075', 'REQUEST_METHOD': 'POST', 'REQUEST_URI': '/admin/db/scmtools/repository/add/', 'SCRIPT_FILENAME': '/home3/kevmaste/public_html/reviews/reviewboard.fcgi', 'SCRIPT_NAME': u'', 'SERVER_ADDR': '74.220.202.29', 'SERVER_ADMIN': 'webmaster@reviews.kevmaster.com', 'SERVER_NAME': 'reviews.kevmaster.com', 'SERVER_PORT': '80', 'SERVER_PROTOCOL': 'HTTP/1.1', 'SERVER_SIGNATURE': '<address>Apache/2.2.15 (CentOS) mod_ssl/2.2.15 0.9.8l DAV/2 mod_auth_passthrough/2.1 FrontPage/5.0.2.2635 Server at reviews.kevmaster.com Port 80</address>\n', 'SERVER_SOFTWARE': 'Apache/2.2.15 (CentOS) mod_ssl/2.2.15 0.9.8l DAV/2 mod_auth_passthrough/2.1 FrontPage/5.0.2.2635', 'UNIQUE_ID': 'TE3hZ0rc12UAADR2IQ8AAACN', 'file_gzip': '/ramdisk/cpud/status', 'wsgi.errors': <flup.server.fcgi_base.OutputStream object at 0x19354d0>, 'wsgi.input': <flup.server.fcgi_base.InputStream object at 0x1935d50>, - Hide quoted text - 'wsgi.multiprocess': False, 'wsgi.multithread': True, 'wsgi.run_once': False, 'wsgi.url_scheme': 'http', 'wsgi.version': (1, 0)}>
I've been unable to reproduce this. It seems, from the debug output, that the 'tool' being set is '2', which is not a valid value. I know this has been a while. Were you guys able to add any repositories to this server at all? Has it just been failing with the Private GitHub?
-
+ NeedInfo
Adding a normal git repository doesn't work either, with the same error: <WSGIRequest GET:<QueryDict: {}>, POST:<QueryDict: {u'username': [u'kevgo'], u'name': [u'Lyrictionary'], u'bug_tracker_type': [u'none'], u'encoding': [u''], u'tool': [u'2'], u'api_token': [u'xxxxxxxxxxxxxxxx'], u'bug_tracker_project_name': [u'PartyEarth'], u'hosting_project_name': [u'Lyrictionary'], u'bug_tracker_base_url': [u''], u'visible': [u'on'], u'hosting_type': [u'github'], u'bug_tracker_owner': [u''], u'_addanother': [u'Save and add another'], u'raw_file_url': [u''], u'bug_tracker': [u''], u'path': [u''], u'csrfmiddlewaretoken': [u'fbc4803e38bc182072cd95484837100e'], u'password': [u'xxxxxxxxxxxxx'], u'mirror_path': [u''], u'hosting_owner': [u'kevgo']}>, COOKIES:{'__utma': '46634404.1102347595.1283184843.1283184843.1283199598.2', '__utmc': '46634404', '__utmz': '46634404.1283184843.1.1.utmcsr=(direct)|utmccn=(direct)|utmcmd=(none)', 'csrftoken': 'fbc4803e38bc182072cd95484837100e', 'rbsessionid': 'eddd638c46ee7008b2ebc349492f0500'}, META:{'CONTENT_LENGTH': '2174', 'CONTENT_TYPE': 'multipart/form-data; boundary=----WebKitFormBoundaryodEqAdUkEtDneM8M', 'CSRF_COOKIE': 'fbc4803e38bc182072cd95484837100e', 'DOCUMENT_ROOT': '/home3/kevmaste/public_html/reviews', 'GATEWAY_INTERFACE': 'CGI/1.1', 'HTTP_ACCEPT': 'application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5', 'HTTP_ACCEPT_CHARSET': 'ISO-8859-1,utf-8;q=0.7,*;q=0.3', 'HTTP_ACCEPT_ENCODING': 'gzip,deflate,sdch', 'HTTP_ACCEPT_LANGUAGE': 'en-US,en;q=0.8', 'HTTP_CACHE_CONTROL': 'max-age=0', 'HTTP_CONNECTION': 'close', 'HTTP_COOKIE': '__utmz=46634404.1283184843.1.1.utmcsr=(direct)|utmccn=(direct)|utmcmd=(none); __utma=46634404.1102347595.1283184843.1283184843.1283199598.2; __utmc=46634404; rbsessionid=eddd638c46ee7008b2ebc349492f0500; csrftoken=fbc4803e38bc182072cd95484837100e', 'HTTP_HOST': 'reviews.kevmaster.com', 'HTTP_ORIGIN': 'http://reviews.kevmaster.com', 'HTTP_REFERER': 'http://reviews.kevmaster.com/admin/db/scmtools/repository/add/', 'HTTP_USER_AGENT': 'Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_6_4; en-US) AppleWebKit/533.4 (KHTML, like Gecko) Chrome/5.0.375.127 Safari/533.4', 'PATH': '/sbin:/usr/sbin:/bin:/usr/bin', 'PATH_INFO': u'/admin/db/scmtools/repository/add/', 'PATH_TRANSLATED': 'redirect:/reviewboard.fcgi/admin/db/scmtools/repository/add//db/scmtools/repository/add/', 'QUERY_STRING': '', 'REDIRECT_STATUS': '200', 'REDIRECT_UNIQUE_ID': 'THwiBErc12UAADwnuNAAAAJO', 'REDIRECT_URL': '/admin/db/scmtools/repository/add/', 'REDIRECT_file_gzip': '/ramdisk/cpud/status', 'REMOTE_ADDR': '99.107.204.248', 'REMOTE_PORT': '55228', 'REQUEST_METHOD': 'POST', 'REQUEST_URI': '/admin/db/scmtools/repository/add/', 'SCRIPT_FILENAME': '/home3/kevmaste/public_html/reviews/reviewboard.fcgi', 'SCRIPT_NAME': u'', 'SERVER_ADDR': '74.220.202.29', 'SERVER_ADMIN': 'webmaster@reviews.kevmaster.com', 'SERVER_NAME': 'reviews.kevmaster.com', 'SERVER_PORT': '80', 'SERVER_PROTOCOL': 'HTTP/1.1', 'SERVER_SIGNATURE': '<address>Apache/2.2.16 (CentOS) mod_ssl/2.2.16 0.9.8l DAV/2 mod_fcgid/2.3.5 mod_auth_passthrough/2.1 FrontPage/5.0.2.2635 Server at reviews.kevmaster.com Port 80</address>\n', 'SERVER_SOFTWARE': 'Apache/2.2.16 (CentOS) mod_ssl/2.2.16 0.9.8l DAV/2 mod_fcgid/2.3.5 mod_auth_passthrough/2.1 FrontPage/5.0.2.2635', 'UNIQUE_ID': 'THwiBErc12UAADwnuNAAAAJO', - Hide quoted text - 'file_gzip': '/ramdisk/cpud/status', 'wsgi.errors': <flup.server.fcgi_base.OutputStream object at 0x95fa10>, 'wsgi.input': <flup.server.fcgi_base.InputStream object at 0x95f990>, 'wsgi.multiprocess': False, 'wsgi.multithread': True, 'wsgi.run_once': False, 'wsgi.url_scheme': 'http', 'wsgi.version': (1, 0)}>
Adding Subversion doesn't work either. Tool is set to '1' in this case. <WSGIRequest GET:<QueryDict: {}>, POST:<QueryDict: {u'username': [u'kevgo'], u'name': [u'Lyrictionary'], u'bug_tracker_type': [u'none'], u'encoding': [u''], u'tool': [u'1'], u'api_token': [u'1d5c3c7ac96c350dc0fd64fe9e76e729'], u'bug_tracker_project_name': [u'PartyEarth'], u'hosting_project_name': [u'Lyrictionary'], u'bug_tracker_base_url': [u''], u'visible': [u'on'], u'hosting_type': [u'sourceforge'], u'bug_tracker_owner': [u''], u'_save': [u'Save'], u'raw_file_url': [u''], u'bug_tracker': [u''], u'path': [u''], u'csrfmiddlewaretoken': [u'fbc4803e38bc182072cd95484837100e'], u'password': [u'test'], u'mirror_path': [u''], u'hosting_owner': [u'kevgo']}>, COOKIES:{'__utma': '46634404.1102347595.1283184843.1283184843.1283199598.2', '__utmc': '46634404', '__utmz': '46634404.1283184843.1.1.utmcsr=(direct)|utmccn=(direct)|utmcmd=(none)', 'csrftoken': 'fbc4803e38bc182072cd95484837100e', 'rbsessionid': 'eddd638c46ee7008b2ebc349492f0500'}, META:{'CONTENT_LENGTH': '2150', 'CONTENT_TYPE': 'multipart/form-data; boundary=----WebKitFormBoundaryPifgA0jKTPbLbEtm', 'CSRF_COOKIE': 'fbc4803e38bc182072cd95484837100e', 'DOCUMENT_ROOT': '/home3/kevmaste/public_html/reviews', 'GATEWAY_INTERFACE': 'CGI/1.1', 'HTTP_ACCEPT': 'application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5', 'HTTP_ACCEPT_CHARSET': 'ISO-8859-1,utf-8;q=0.7,*;q=0.3', 'HTTP_ACCEPT_ENCODING': 'gzip,deflate,sdch', 'HTTP_ACCEPT_LANGUAGE': 'en-US,en;q=0.8', 'HTTP_CACHE_CONTROL': 'max-age=0', 'HTTP_CONNECTION': 'close', 'HTTP_COOKIE': '__utmz=46634404.1283184843.1.1.utmcsr=(direct)|utmccn=(direct)|utmcmd=(none); __utma=46634404.1102347595.1283184843.1283184843.1283199598.2; __utmc=46634404; rbsessionid=eddd638c46ee7008b2ebc349492f0500; csrftoken=fbc4803e38bc182072cd95484837100e', 'HTTP_HOST': 'reviews.kevmaster.com', 'HTTP_ORIGIN': 'http://reviews.kevmaster.com', 'HTTP_REFERER': 'http://reviews.kevmaster.com/admin/db/scmtools/repository/add/', 'HTTP_USER_AGENT': 'Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_6_4; en-US) AppleWebKit/533.4 (KHTML, like Gecko) Chrome/5.0.375.127 Safari/533.4', 'PATH': '/sbin:/usr/sbin:/bin:/usr/bin', 'PATH_INFO': u'/admin/db/scmtools/repository/add/', 'PATH_TRANSLATED': 'redirect:/reviewboard.fcgi/admin/db/scmtools/repository/add//db/scmtools/repository/add/', 'QUERY_STRING': '', 'REDIRECT_STATUS': '200', 'REDIRECT_UNIQUE_ID': 'THwq9krc12UAAGMAC58AAAaK', 'REDIRECT_URL': '/admin/db/scmtools/repository/add/', 'REDIRECT_file_gzip': '/ramdisk/cpud/status', 'REMOTE_ADDR': '99.107.204.248', 'REMOTE_PORT': '55403', 'REQUEST_METHOD': 'POST', 'REQUEST_URI': '/admin/db/scmtools/repository/add/', 'SCRIPT_FILENAME': '/home3/kevmaste/public_html/reviews/reviewboard.fcgi', 'SCRIPT_NAME': u'', 'SERVER_ADDR': '74.220.202.29', 'SERVER_ADMIN': 'webmaster@reviews.kevmaster.com', 'SERVER_NAME': 'reviews.kevmaster.com', 'SERVER_PORT': '80', 'SERVER_PROTOCOL': 'HTTP/1.1', 'SERVER_SIGNATURE': '<address>Apache/2.2.16 (CentOS) mod_ssl/2.2.16 0.9.8l DAV/2 mod_fcgid/2.3.5 mod_auth_passthrough/2.1 FrontPage/5.0.2.2635 Server at reviews.kevmaster.com Port 80</address>\n', 'SERVER_SOFTWARE': 'Apache/2.2.16 (CentOS) mod_ssl/2.2.16 0.9.8l DAV/2 mod_fcgid/2.3.5 mod_auth_passthrough/2.1 FrontPage/5.0.2.2635', 'UNIQUE_ID': 'THwq9krc12UAAGMAC58AAAaK',
Okay, it's a problem with your installation then. Do you remember what steps you did to install it? And was the database from this fresh install, or ported over from a developer install? I would recommend wiping the database and doing a brand new one, assuming you don't have data in it.
Thanks for looking into this, and sorry for this false alert. I have successfully run Reviewboard without any problems on a dedicated server. This particular install is on a shared host, where I don't have access to the apache and python configuration. Hence the installation steps below (taken from a site that explains how to install a django-based app on shared hosting) work around the limitations there, and use fastcgi. Are there any official instructions on how to install Reviewboard in a shared hosting environment? The database and everything else are a clean install btw. ### Prepare installing local binaries. export PATH=$HOME/opt/bin:$HOME/bin:$HOME/.local/lib/python/site-packages:$PATH ### Install customizable Python. cd ~/src wget http://peak.telecommunity.com/dist/virtual-python.py python ~/src/virtual-python.py ### install python setuptools cd ~/src wget http://peak.telecommunity.com/dist/ez_setup.py python ez_setup.py --install-dir=~/.local/lib/python/site-packages ### install Reviewboard easy_install --prefix=$HOME/.local -f http://downloads.reviewboard.org/releases/ReviewBoard/1.5/ -U ReviewBoard easy_install --prefix=$HOME/.local mysql-python rb-site install reviewboard ### add this .htaccess file AddHandler fcgid-script .fcgi RewriteEngine On RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^(.*)$ reviewboard.fcgi/$1 [QSA,L] ### change reviewboard.fcgi #!/home3/kevmaste/bin/python import os, sys sys.path.insert(0, "/home3/kevmaste/reviewboard/conf") sys.path.insert(0, "/home3/kevmaste/reviewboard/htdocs") sys.path.insert(0, "/home3/kevmaste/.local/lib/python/site-packages") sys.path.insert(0, "/home3/kevmaste/.local/lib/python2.4/site-packages") sys.path.insert(0, "/home3/kevmaste/.local/bin") sys.path.insert(0, "/home3/kevmaste/bin") sys.path.insert(0, '/home3/kevmaste/.local/lib/python2.4/site-packages/setuptools-0.6c11-py2.4.egg') sys.path.insert(0, '/home3/kevmaste/.local/lib/python2.4/site-packages/ReviewBoard-1.5rc1-py2.4.egg') sys.path.insert(0, '/home3/kevmaste/.local/lib/python2.4/site-packages/python_memcached-1.45-py2.4.egg') sys.path.insert(0, '/home3/kevmaste/.local/lib/python2.4/site-packages/pytz-2010h-py2.4.egg') sys.path.insert(0, '/home3/kevmaste/.local/lib/python2.4/site-packages/flup-1.0.3.dev_20100525-py2.4.egg') sys.path.insert(0, '/home3/kevmaste/.local/lib/python2.4/site-packages/Pygments-1.3.1-py2.4.egg') sys.path.insert(0, '/home3/kevmaste/.local/lib/python2.4/site-packages/Djblets-0.6.3-py2.4.egg') sys.path.insert(0, '/home3/kevmaste/.local/lib/python2.4/site-packages/django_evolution-0.5-py2.4.egg') sys.path.insert(0, '/home3/kevmaste/.local/lib/python2.4/site-packages/Django-1.2.1-py2.4.egg') sys.path.insert(0, '/home3/kevmaste/.local/lib/python2.4/site-packages/PIL-1.1.7-py2.4-linux-x86_64.egg') sys.path.insert(0, '/home3/kevmaste/.local/lib/python2.4/site-packages/paramiko-1.7.6-py2.4.egg') sys.path.insert(0, '/home3/kevmaste/.local/lib/python2.4/site-packages/pycrypto-2.1.0-py2.4-linux-x86_64.egg') sys.path.insert(0, '/home3/kevmaste/.local/lib/python2.4/site-packages/python_dateutil-1.5-py2.4.egg') sys.path.insert(0, '/home3/kevmaste/.local/lib/python2.4/site-packages/recaptcha_client-1.0.5-py2.4.egg') os.environ["DJANGO_SETTINGS_MODULE"] = "reviewboard.settings" os.environ["PYTHON_EGG_CACHE"] = "/home3/kevmaste/.local/lib/python/site-packages" from django.core.servers.fastcgi import runfastcgi runfastcgi(method="threaded", daemonize="false")
I think every shared host is different in that regards; if there's something janky in their apache/python installs, options are pretty limited. I'm not sure there's anything we can document except specific workarounds for specific hosts, which seems like it's not worth the trouble.
-
- NeedInfo + SetupIssue