2876: Diff currently unavailable.

lru****@mac**** (Google Code) (Is this you? Claim this profile.)
chipx86
chipx86
Jan. 28, 2013
What version are you running?
1.6.13

What's the URL of the page containing the problem?

https://reviewboard.eng.vmware.com/r/423525/diff/#index_header

What steps will reproduce the problem?
I posted a review and one of my files shows up as "Diff currently unavailable."

What is the expected output? What do you see instead?
Diff currently unavailable.
Error: 'NoneType' object is unsubscriptable
Details
Traceback (most recent call last):
  File "build/bdist.linux-x86_64/egg/reviewboard/diffviewer/views.py", line 392, in view_diff_fragment
  File "build/bdist.linux-x86_64/egg/reviewboard/diffviewer/views.py", line 159, in build_diff_fragment
  File "/build/toolchain/noarch/djblets-0.6.23/lib/python2.6/site-packages/djblets/util/misc.py", line 164, in cache_memoize
    data = lookup_callable()
  File "build/bdist.linux-x86_64/egg/reviewboard/diffviewer/views.py", line 148, in <lambda>
  File "/build/toolchain/noarch/django-1.3.3/lib/python2.6/site-packages/django/template/loader.py", line 183, in render_to_string
    return t.render(Context(dictionary))
  File "/build/toolchain/noarch/django-1.3.3/lib/python2.6/site-packages/django/template/base.py", line 123, in render
    return self._render(context)
  File "/build/toolchain/noarch/django-1.3.3/lib/python2.6/site-packages/django/template/base.py", line 117, in _render
    return self.nodelist.render(context)
  File "/build/toolchain/noarch/django-1.3.3/lib/python2.6/site-packages/django/template/base.py", line 744, in render
    bits.append(self.render_node(node, context))
  File "/build/toolchain/noarch/django-1.3.3/lib/python2.6/site-packages/django/template/base.py", line 757, in render_node
    return node.render(context)
  File "/build/toolchain/noarch/django-1.3.3/lib/python2.6/site-packages/django/template/defaulttags.py", line 311, in render
    return self.nodelist_true.render(context)
  File "/build/toolchain/noarch/django-1.3.3/lib/python2.6/site-packages/django/template/base.py", line 744, in render
    bits.append(self.render_node(node, context))
  File "/build/toolchain/noarch/django-1.3.3/lib/python2.6/site-packages/django/template/base.py", line 757, in render_node
    return node.render(context)
  File "/build/toolchain/noarch/django-1.3.3/lib/python2.6/site-packages/django/template/defaulttags.py", line 313, in render
    return self.nodelist_false.render(context)
  File "/build/toolchain/noarch/django-1.3.3/lib/python2.6/site-packages/django/template/base.py", line 744, in render
    bits.append(self.render_node(node, context))
  File "/build/toolchain/noarch/django-1.3.3/lib/python2.6/site-packages/django/template/base.py", line 757, in render_node
    return node.render(context)
  File "/build/toolchain/noarch/django-1.3.3/lib/python2.6/site-packages/django/template/defaulttags.py", line 313, in render
    return self.nodelist_false.render(context)
  File "/build/toolchain/noarch/django-1.3.3/lib/python2.6/site-packages/django/template/base.py", line 744, in render
    bits.append(self.render_node(node, context))
  File "/build/toolchain/noarch/django-1.3.3/lib/python2.6/site-packages/django/template/base.py", line 757, in render_node
    return node.render(context)
  File "/build/toolchain/noarch/django-1.3.3/lib/python2.6/site-packages/django/template/defaulttags.py", line 227, in render
    nodelist.append(node.render(context))
  File "/build/toolchain/noarch/django-1.3.3/lib/python2.6/site-packages/django/template/defaulttags.py", line 313, in render
    return self.nodelist_false.render(context)
  File "/build/toolchain/noarch/django-1.3.3/lib/python2.6/site-packages/django/template/base.py", line 744, in render
    bits.append(self.render_node(node, context))
  File "/build/toolchain/noarch/django-1.3.3/lib/python2.6/site-packages/django/template/base.py", line 757, in render_node
    return node.render(context)
  File "/build/toolchain/noarch/django-1.3.3/lib/python2.6/site-packages/django/template/defaulttags.py", line 285, in render
    return self.nodelist_true.render(context)
  File "/build/toolchain/noarch/django-1.3.3/lib/python2.6/site-packages/django/template/base.py", line 744, in render
    bits.append(self.render_node(node, context))
  File "/build/toolchain/noarch/django-1.3.3/lib/python2.6/site-packages/django/template/base.py", line 757, in render_node
    return node.render(context)
  File "/build/toolchain/noarch/django-1.3.3/lib/python2.6/site-packages/django/template/defaulttags.py", line 311, in render
    return self.nodelist_true.render(context)
  File "/build/toolchain/noarch/django-1.3.3/lib/python2.6/site-packages/django/template/base.py", line 744, in render
    bits.append(self.render_node(node, context))
  File "/build/toolchain/noarch/django-1.3.3/lib/python2.6/site-packages/django/template/base.py", line 757, in render_node
    return node.render(context)
  File "/build/toolchain/noarch/django-1.3.3/lib/python2.6/site-packages/django/template/defaulttags.py", line 286, in render
    return self.nodelist_false.render(context)
  File "/build/toolchain/noarch/django-1.3.3/lib/python2.6/site-packages/django/template/base.py", line 744, in render
    bits.append(self.render_node(node, context))
  File "/build/toolchain/noarch/django-1.3.3/lib/python2.6/site-packages/django/template/base.py", line 757, in render_node
    return node.render(context)
  File "/build/toolchain/noarch/djblets-0.6.23/lib/python2.6/site-packages/djblets/util/decorators.py", line 119, in render
    return self.tag_func(context, *args)
  File "build/bdist.linux-x86_64/egg/reviewboard/diffviewer/templatetags/difftags.py", line 204, in diff_chunk_header
TypeError: 'NoneType' object is unsubscriptable


What operating system are you using? What browser?
Mac OS 10.8.2, Safari


Please provide any additional information below.
chipx86
#1 chipx86
This looks like there's a chunk of the diff that doesn't have any lines, which.. shouldn't happen.

Can you give me a sense of what's in the diff? What type of file? Is it large or small? New file, existing? Any changes made before the first function/class (as typically indicated in the diff viewer for that type of file)?
  • +NeedInfo
#2 lru****@mac**** (Google Code) (Is this you? Claim this profile.)
Existing file, ObjectiveC code, 650 lines, the first diff is on line 14 in the "#import" section and the last ends 3 lines from the end. p4 diff doesn't show anything odd. File encoding is UTF-8, turning on my editor's "show control characters" doesn't reveal anything, nothing odd at the end of the file.

There are two other ObjC files in the change and they look fine.

First diff, redacted:

14,15c14
< #import "path/to/header1.h"
< #import "path/to/header2.h"
---
> #import "path/to/header3.h"
19d17
chipx86
#3 chipx86
Fixed on release-1.7.x (d78e5ca348290bea50c318ce042af9d869a228d3)
  • -NeedInfo
    +Fixed
  • +Milestone-Release1.7.x
    +Component-DiffViewer
  • +chipx86