What version are you running?
2.0.2
What's the URL of the page containing the problem?
/r/85/
What steps will reproduce the problem?
1. Not sure what happened here, but here is an approximate set of events.
2. Diff was uploaded, but didn't get applied cleanly and RB complained
3. Diff was discarded and a new diff was uploaded which also didn't apply
4. This diff was also discarded and then it turns out that the previous discarded diff was actually applied, so maybe it wasn't discarded. Since it was not applied correctly, went to admin and deleted the diff from the DB. Bad idea, I guess!
5. Right now, if you just visit the URL, it crashes the server
What is the expected output? What do you see instead?
Expect to see main review page, but see a 500 server error
Is there any way to recover from this? Is there a script that checks for DB consistency and notifies or corrects them?
What operating system are you using? What browser?
All browsers
Please provide any additional information below.
The error trace is as follows:
Traceback (most recent call last):
File "/usr/lib/python2.6/site-packages/Django-1.6.5-py2.6.egg/django/core/handlers/base.py", line 112, in get_response
response = wrapped_callback(request, *callback_args, **callback_kwargs)
File "/usr/lib/python2.6/site-packages/ReviewBoard-2.0.2-py2.6.egg/reviewboard/accounts/decorators.py", line 23, in _check
return view_func(*args, **kwargs)
File "/usr/lib/python2.6/site-packages/ReviewBoard-2.0.2-py2.6.egg/reviewboard/site/decorators.py", line 35, in _check
return view_func(request, local_site=local_site, *args, **kwargs)
File "/usr/lib/python2.6/site-packages/ReviewBoard-2.0.2-py2.6.egg/reviewboard/reviews/views.py", line 662, in review_detail
changedesc.fields_changed[field_id])
File "/usr/lib/python2.6/site-packages/ReviewBoard-2.0.2-py2.6.egg/reviewboard/reviews/fields.py", line 159, in get_change_entry_sections_html
'rendered_html': mark_safe(self.render_change_entry_html(info)),
File "/usr/lib/python2.6/site-packages/ReviewBoard-2.0.2-py2.6.egg/reviewboard/reviews/builtin_fields.py", line 386, in render_change_entry_html
diffset = self.diffsets_by_id[added_diff_info[2]]