2952: Diff viewer generates Error 500: Something Broke! intermittently

sarar******@gmai***** (Google Code) (Is this you? Claim this profile.)
Aug. 7, 2013
What version are you running?
1.7.6

What's the URL of the page containing the problem?
http://reviewboard.cctechnol.com/r/1039/diff/4/fragment/21123/?index=11&1365530769

What steps will reproduce the problem?
1. Select View Diff 
2.
3.

What is the expected output? What do you see instead?
I expect all pages of the diff to show up. Instead, I get sporadic and unpredictable error 500: Something Broke! messages

What operating system are you using? What browser?
Centos 6.3, Chrome and Fedora 17, Firefox 19

Please provide any additional information below.

Exception thrown for user pjm at http://reviewboard.cctechnol.com/r/1039/diff/4/fragment/21123/?index=11&1365530769

'NoneType' object is not callable
Traceback (most recent call last):
  File "/usr/lib/python2.6/site-packages/Django-1.4.5-py2.6.egg/django/core/handlers/base.py", line 111, in get_response
    response = callback(request, *callback_args, **callback_kwargs)
  File "/usr/lib/python2.6/site-packages/ReviewBoard-1.7.6-py2.6.egg/reviewboard/accounts/decorators.py", line 20, in _check
    return login_required(view_func)(*args, **kwargs)
  File "/usr/lib/python2.6/site-packages/Djblets-0.7.11-py2.6.egg/djblets/auth/util.py", line 47, in _checklogin
    return view_func(request, *args, **kwargs)
  File "/usr/lib/python2.6/site-packages/ReviewBoard-1.7.6-py2.6.egg/reviewboard/reviews/views.py", line 1174, in diff_fragment
    interdiffset, chunkindex, template_name)
  File "/usr/lib/python2.6/site-packages/ReviewBoard-1.7.6-py2.6.egg/reviewboard/diffviewer/views.py", line 403, in view_diff_fragment
    extra_context={'file': get_requested_diff_file(False)})
  File "/usr/lib/python2.6/site-packages/ReviewBoard-1.7.6-py2.6.egg/reviewboard/diffviewer/views.py", line 306, in get_requested_diff_file
    files = get_diff_files(diffset, filediff, interdiffset)
  File "/usr/lib/python2.6/site-packages/ReviewBoard-1.7.6-py2.6.egg/reviewboard/diffviewer/diffutils.py", line 1116, in get_diff_files
    tool = filediff.diffset.repository.get_scmtool()
  File "/usr/lib/python2.6/site-packages/ReviewBoard-1.7.6-py2.6.egg/reviewboard/scmtools/models.py", line 136, in get_scmtool
    return cls(self)
  File "/usr/lib/python2.6/site-packages/ReviewBoard-1.7.6-py2.6.egg/reviewboard/scmtools/hg.py", line 31, in __init__
    self.client = HgClient(repository.path, repository.local_site)
  File "/usr/lib/python2.6/site-packages/ReviewBoard-1.7.6-py2.6.egg/reviewboard/scmtools/hg.py", line 239, in __init__
    if parse_version(hg_version) <= parse_version("1.2"):
  File "/usr/lib/python2.6/site-packages/pkg_resources.py", line 1913, in parse_version
    for part in _parse_version_parts(s.lower()):
TypeError: 'NoneType' object is not callable
david
#1 david
This has been fixed in the latest 1.7.x releases.
  • +Fixed