471: SCM Errors result in raw tracebacks

david
March 22, 2009
I ran into a problem on reviews.review-board.org where it couldn't resolve
our SVN server's hostname -- probably some problem on google's side. 
Anyhow, I got a raw traceback:

Environment:

Request Method: GET
Request URL: http://reviews.review-board.org/r/360/
Django Version: 0.97-pre-SVN-unknown
Python Version: 2.5.1
Installed Applications: 
   ['django.contrib.admin',
 'django.contrib.auth',
 'django.contrib.contenttypes',
 'django.contrib.sites',
 'django.contrib.sessions',
 'djblets.datagrid',
 'djblets.util',
 'djblets.webapi',
 'reviewboard.accounts',
 'reviewboard.diffviewer',
 'reviewboard.iphone',
 'reviewboard.reports',
 'reviewboard.reviews',
 'reviewboard.scmtools',
 'reviewboard.webapi']
Installed Middleware: 
   ('django.middleware.common.CommonMiddleware',
 'django.middleware.doc.XViewMiddleware',
 'django.middleware.locale.LocaleMiddleware',
 'django.contrib.sessions.middleware.SessionMiddleware',
 'django.contrib.auth.middleware.AuthenticationMiddleware')


Template error:
In template
/var/www/reviews.review-board.org/reviewboard/templates/reviews/review_detail.html,
error at line 136
   Caught an exception while rendering: PROPFIND request failed on
'/svn/trunk/reviewboard/contrib/tools/post-review'
PROPFIND of '/svn/trunk/reviewboard/contrib/tools/post-review': Could not
resolve hostname `reviewboard.googlecode.com': Host not found
(http://reviewboard.googlecode.com)
   126 :        <a href="{{comment.screenshot.get_absolute_url}}">{% if
comment.screenshot.caption %}{{comment.screenshot.caption}}{% else
%}{{comment.screenshot.image|basename}}{% endif %}</a>


   127 :       </span>


   128 :       {{comment.image|safe}}


   129 :      </div>


   130 :     </dt>


   131 :     <dd>


   132 :      <pre>{{comment.text|escape}}</pre>


   133 :      {% reply_section review comment "screenshot_comment" "rc" %}


   134 :     </dd>


   135 : {% endfor %}


   136 :  {% for comment in review.ordered_comments %} 


   137 :     <dt>


   138 :      <a name="comment{{comment.id}}"></a>


   139 :      <table class="sidebyside">


   140 :       <colgroup>


   141 :        <col class="line" />


   142 :        <col class="left" />


   143 :        <col class="line" />


   144 :        <col class="right" />


   145 :       </colgroup>


   146 :       <thead>


Traceback:
File "/usr/lib/python2.5/site-packages/django/template/__init__.py" in
render_node
  822.             result = node.render(context)
File "/usr/lib/python2.5/site-packages/django/template/defaulttags.py" in
render
  151.                 nodelist.append(node.render(context))
File
"/var/www/reviews.review-board.org/reviewboard/djblets/util/decorators.py"
in render
  151.             return self.tag_func(context, self.nodelist, *args)
File
"/var/www/reviews.review-board.org/reviewboard/diffviewer/templatetags/difftags.py"
in forchunkswithlines
  72.                                get_enable_highlighting(context['user']))
File
"/var/www/reviews.review-board.org/reviewboard/diffviewer/diffutils.py" in
get_diff_files
  561.                           enable_syntax_highlighting)
File
"/var/www/reviews.review-board.org/reviewboard/diffviewer/diffutils.py" in
generate_files
  500.                 lambda: get_chunks(filediff.diffset,
File "/var/www/reviews.review-board.org/reviewboard/djblets/util/misc.py"
in cache_memoize
  47.     data = lookup_callable()
File
"/var/www/reviews.review-board.org/reviewboard/diffviewer/diffutils.py" in
<lambda>
  503.                                    enable_syntax_highlighting))
File
"/var/www/reviews.review-board.org/reviewboard/diffviewer/diffutils.py" in
get_chunks
  297.         old = get_original_file(filediff)
File
"/var/www/reviews.review-board.org/reviewboard/diffviewer/diffutils.py" in
get_original_file
  208.     return cache_memoize(key, lambda: [tool.get_file(file,
revision)])[0]
File "/var/www/reviews.review-board.org/reviewboard/djblets/util/misc.py"
in cache_memoize
  47.     data = lookup_callable()
File
"/var/www/reviews.review-board.org/reviewboard/diffviewer/diffutils.py" in
<lambda>
  208.     return cache_memoize(key, lambda: [tool.get_file(file,
revision)])[0]
File "/var/www/reviews.review-board.org/reviewboard/scmtools/svn.py" in
get_file
  101.                 raise SCMError(e)

Exception Type: SCMError at /r/360/
Exception Value: PROPFIND request failed on
'/svn/trunk/reviewboard/contrib/tools/post-review'
PROPFIND of '/svn/trunk/reviewboard/contrib/tools/post-review': Could not
resolve hostname `reviewboard.googlecode.com': Host not found
(http://reviewboard.googlecode.com)
david
#1 david
Actually, this was on the review request page.  I guess there were comments. 
Something similar applies to the diffviewer, I would imagine.
  • -Component-DiffViewer
    +Component-Reviews
chipx86
#2 chipx86
Should be easy to throw something together for this.
  • +EasyFix
chipx86
#3 chipx86
  • +Milestone-Release1.0
david
#4 david
  • +Confirmed
chipx86
#5 chipx86
  • +BetterErrors
david
#6 david
Christian got this in the UI rewrite.
  • -Confirmed
    +Fixed