David, Thanks for the response. All I am saying is that at that point of the code, it fails with authentication error not when it checks for the repository. I added log messages at the points where it checks for repository and it passes. It's at creation time that it fails not when it checks for the repository. After I comment out the exception so it can pass the creation without authentication, it passes the repository checking and the creation of a new repository. So there is one point where it tries to access the repository without authentication.
Maybe the error comes from from form.py, clean(self), self._verify_repository_path(), scmtool_class.check_repository(path, username, password,self.local_site_name)? What can I do to debug this? Do you want me to put some logging printouts at any point of the code? I am obviously running at this point but with a monumental hack of commenting out error handling (exceptions). Alexis On Friday, 18 July 2014 15:51:55 UTC-5, David Trowbridge wrote: > > It's expected that username and password would be None in the particular > stack trace you included (since at that point it's just creating it to > check that it can). The actual repository checking is a different code path > that does include credentials. > > -David > > On Jul 16, 2014, at 12:11 PM, Alexis <[email protected] <javascript:>> > wrote: > > Hi Christian, > > I am encountering the same issue. it seems that before accessing the > repository, review board checks that it exists by trying to access it > without credentials (assumes there is public access to read) and then it > accesses it using the credentials. I have made the code fail where the > error occurs to get a traceback: > 2014-07-15 15:31:52,529 - ERROR - - SVN: Failed to get repository > information for https://example.com:81/svn/Test: callback_get_login > required > 2014-07-15 15:50:25,674 - ERROR - - Exception thrown for user admin at > http://example.com:8181/reviewboard/admin/db/scmtools/repository/add/ > > unexpected indent (pysvn.py, line 39) > Traceback (most recent call last): > File > "C:\BitNami\reviewboard-2.0.2-0\apps\django\django\core\handlers\base.py", > line 112, in get_response > response = wrapped_callback(request, *callback_args, **callback_kwargs) > File > "C:\BitNami\reviewboard-2.0.2-0\apps\django\django\contrib\admin\options.py", > line 432, in wrapper > return self.admin_site.admin_view(view)(*args, **kwargs) > File > "C:\BitNami\reviewboard-2.0.2-0\apps\django\django\utils\decorators.py", > line 99, in _wrapped_view > response = view_func(request, *args, **kwargs) > File > "C:\BitNami\reviewboard-2.0.2-0\apps\django\django\views\decorators\cache.py", > > line 52, in _wrapped_view_func > response = view_func(request, *args, **kwargs) > File > "C:\BitNami\reviewboard-2.0.2-0\apps\django\django\contrib\admin\sites.py", > line 198, in inner > return view(request, *args, **kwargs) > File > "C:\BitNami\reviewboard-2.0.2-0\apps\django\django\utils\decorators.py", > line 29, in _wrapper > return bound_func(*args, **kwargs) > File > "C:\BitNami\reviewboard-2.0.2-0\apps\django\django\utils\decorators.py", > line 99, in _wrapped_view > response = view_func(request, *args, **kwargs) > File > "C:\BitNami\reviewboard-2.0.2-0\apps\django\django\utils\decorators.py", > line 25, in bound_func > return func(self, *args2, **kwargs2) > File > "C:\BitNami\reviewboard-2.0.2-0\apps\django\django\db\transaction.py", line > 371, in inner > return func(*args, **kwargs) > File > "C:\BitNami\reviewboard-2.0.2-0\apps\django\django\contrib\admin\options.py", > line 1113, in add_view > if form.is_valid(): > File > "C:\BitNami\reviewboard-2.0.2-0\apps\reviewboard\Lib\site-packages\ReviewBoard-2.0.2-py2.7.egg\reviewboard\scmtools\forms.py", > > line 1024, in is_valid > if not super(RepositoryForm, self).is_valid(): > File "C:\BitNami\reviewboard-2.0.2-0\apps\django\django\forms\forms.py", > line 129, in is_valid > return self.is_bound and not bool(self.errors) > File "C:\BitNami\reviewboard-2.0.2-0\apps\django\django\forms\forms.py", > line 121, in errors > self.full_clean() > File > "C:\BitNami\reviewboard-2.0.2-0\apps\reviewboard\Lib\site-packages\ReviewBoard-2.0.2-py2.7.egg\reviewboard\scmtools\forms.py", > > line 813, in full_clean > super(RepositoryForm, self).full_clean() > File "C:\BitNami\reviewboard-2.0.2-0\apps\django\django\forms\forms.py", > line 273, in full_clean > self._clean_fields() > File "C:\BitNami\reviewboard-2.0.2-0\apps\django\django\forms\forms.py", > line 291, in _clean_fields > value = getattr(self, 'clean_%s' % name)() > File > "C:\BitNami\reviewboard-2.0.2-0\apps\reviewboard\Lib\site-packages\ReviewBoard-2.0.2-py2.7.egg\reviewboard\scmtools\forms.py", > > line 988, in clean_tool > scmtool_class = tool.get_scmtool_class() > File > "C:\BitNami\reviewboard-2.0.2-0\apps\reviewboard\Lib\site-packages\ReviewBoard-2.0.2-py2.7.egg\reviewboard\scmtools\models.py", > > line 56, in get_scmtool_class > [six.binary_type(attr)]) > File > "C:\BitNami\reviewboard-2.0.2-0\apps\reviewboard\Lib\site-packages\ReviewBoard-2.0.2-py2.7.egg\reviewboard\scmtools\svn\__init__.py", > > line 552, in <module> > recompute_svn_backend() > File > "C:\BitNami\reviewboard-2.0.2-0\apps\reviewboard\Lib\site-packages\ReviewBoard-2.0.2-py2.7.egg\reviewboard\scmtools\svn\__init__.py", > > line 527, in recompute_svn_backend > fromlist=['Client', 'has_svn_backend']) > File > "C:\BitNami\reviewboard-2.0.2-0\apps\reviewboard\Lib\site-packages\ReviewBoard-2.0.2-py2.7.egg\reviewboard\scmtools\svn\pysvn.py", > > line 39 > logging.debug('SVN: username: %s, password: %s' % > ^ > IndentationError: unexpected indent > 2014-07-15 16:25:14,766 - INFO - - Using reviewboard.scmtools.svn.pysvn > backend for SVN > 2014-07-15 16:35:53,088 - INFO - - Using reviewboard.scmtools.svn.pysvn > backend for SVN > 2014-07-15 16:36:55,710 - DEBUG - - *SVN: username: None, password: None* > > As you can see at this point, username and password are both none. I > created a hack by commenting out the exception code in > ReviewBoard-2.0.2-py2.7.egg\reviewboard\scmtools\svn__init__.py but it is > obviously not a proper fix: > > def on_ssl_failure(e, path, cert_data): > logging.error('SVN: Failed to get repository information ' > 'for %s: %s' % (path, e)) > #if 'callback_get_login required' in six.text_type(e): > # raise AuthenticationError(msg="Authentication failed") > > if cert_data: > failures = cert_data['failures'] > > reasons = [] > > if failures & SVNCertificateFailures.NOT_YET_VALID: > reasons.append(_('The certificate is not yet valid.')) > > if failures & SVNCertificateFailures.EXPIRED: > reasons.append(_('The certificate has expired.')) > > if failures & SVNCertificateFailures.CN_MISMATCH: > reasons.append(_('The certificate hostname does not ' > 'match.')) > > if failures & SVNCertificateFailures.UNKNOWN_CA: > reasons.append(_('The certificate is not issued by a ' > 'trusted authority. Use the fingerprint ' > 'to validate the certificate manually.')) > > raise UnverifiedCertificateError( > Certificate(valid_from=cert_data['valid_from'], > valid_until=cert_data['valid_until'], > hostname=cert_data['hostname'], > realm=cert_data['realm'], > fingerprint=cert_data['finger_print'], > issuer=cert_data['issuer_dname'], > failures=reasons)) > > #raise RepositoryNotFoundError() > > Could you please help fix it properly? > > On Monday, 14 July 2014 13:38:02 UTC-5, Christian Hammond wrote: >> >> I wish I had an answer for you, but this is not typical behavior. >> >> I’d try upgrading PySVN. I’d also delete your $sitedir/data/.subversion >> directory, to start from scratch. >> >> Make sure the correct username and password are being used in the >> repository setup. Don’t specify a username in the URL. >> >> If all that fails.. not sure, really. We’d have to investigate deeper by >> actually running code on your server, but we only offer that with support >> contracts. >> >> Christian >> >> -- >> Christian Hammond - [email protected] >> Review Board - http://www.reviewboard.org >> Beanbag, Inc. - http://www.beanbaginc.com >> >> On July 13, 2014 at 10:45:50 PM, shravanthi s ([email protected]) wrote: >> >> I have checked reviewboard.log and this is the only error which comes up >> in the log >> >> ERROR - - SVN: Failed to get repository information for >> https://test.com/svn/myfolder/Phoenix: callback_get_login required >> >> Any other log you want me to check? >> >> -- >> Get the Review Board Power Pack at http://www.reviewboard.org/powerpack/ >> --- >> Sign up for Review Board hosting at RBCommons: https://rbcommons.com/ >> --- >> Happy user? Let us know at http://www.reviewboard.org/users/ >> --- >> You received this message because you are subscribed to the Google Groups >> "reviewboard" group. >> To unsubscribe from this group and stop receiving emails from it, send an >> email to [email protected]. >> For more options, visit https://groups.google.com/d/optout. >> >> -- > Get the Review Board Power Pack at http://www.reviewboard.org/powerpack/ > --- > Sign up for Review Board hosting at RBCommons: https://rbcommons.com/ > --- > Happy user? Let us know at http://www.reviewboard.org/users/ > --- > You received this message because you are subscribed to the Google Groups > "reviewboard" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to [email protected] <javascript:>. > For more options, visit https://groups.google.com/d/optout. > > -- Get the Review Board Power Pack at http://www.reviewboard.org/powerpack/ --- Sign up for Review Board hosting at RBCommons: https://rbcommons.com/ --- Happy user? Let us know at http://www.reviewboard.org/users/ --- You received this message because you are subscribed to the Google Groups "reviewboard" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. For more options, visit https://groups.google.com/d/optout.
