What version are you running? ReviewBoard 2.0.6 and Note To Reviewers 1.0 What's the URL of the page containing the problem? https://server/r/45/ What steps will reproduce the problem? 1. I had a review open, posted with rbt and filled with description on the web site. 2. I published the review. 3. I clicked on code diff to report an issue. 4. I published the review. 5. I entered additional explanation in 'Note to reviewers' field. 6. I published the review. 7. The mail of change was sent. What is the expected output? What do you see instead? It should present updated review. Instead it generates a HTTP 500 error. It is impossible to open the review again since it always fails with HTTP 500. Disabling 'Note to Reviewers' extension brought the review back to life. Please note that I had used this extension before without such problems. What operating system are you using? What browser? I run Firefox 31 on Windows 7. Review Board server is hosted on a RedHatEnterpriseLinux 5.9 x86_64. Please provide any additional information below. When HTTP 500 is thrown, an exception is logged: 2014-09-02 15:28:54,825 - ERROR - - Exception thrown for user user at https://server:8081/r/45/ 'NoneType' object has no attribute 'strip' Traceback (most recent call last): File "/path/to/reviewboard/lib/python2.7/site-packages/Django-1.6.6-py2.7.egg/django/core/handlers/base.py", line 112, in get_response response = wrapped_callback(request, *callback_args, **callback_kwargs) File "/path/to/reviewboard/lib/python2.7/site-packages/ReviewBoard-2.0.6-py2.7.egg/reviewboard/accounts/decorators.py", line 21, in _check return login_required(view_func)(*args, **kwargs) File "/path/to/reviewboard/lib/python2.7/site-packages/Django-1.6.6-py2.7.egg/django/contrib/auth/decorators.py", line 22, in _wrapped_view return view_func(request, *args, **kwargs) File "/path/to/reviewboard/lib/python2.7/site-packages/ReviewBoard-2.0.6-py2.7.egg/reviewboard/site/decorators.py", line 35, in _check return view_func(request, local_site=local_site, *args, **kwargs) File "/path/to/reviewboard/lib/python2.7/site-packages/ReviewBoard-2.0.6-py2.7.egg/reviewboard/reviews/views.py", line 660, in review_detail changedesc.fields_changed[field_id]) File "/path/to/reviewboard/lib/python2.7/site-packages/ReviewBoard-2.0.6-py2.7.egg/reviewboard/reviews/fields.py", line 159, in get_change_entry_sections_h tml 'rendered_html': mark_safe(self.render_change_entry_html(info)), File "/path/to/reviewboard/lib/python2.7/site-packages/ReviewBoard-2.0.6-py2.7.egg/reviewboard/reviews/fields.py", line 484, in render_change_entry_html old_value = render_markdown(old_value) File "/path/to/reviewboard/lib/python2.7/site-packages/ReviewBoard-2.0.6-py2.7.egg/reviewboard/reviews/markdown_utils.py", line 209, in render_markdown return markdown(text, **MARKDOWN_KWARGS) File "/path/to/reviewboard/lib/python2.7/site-packages/Markdown-2.4.1-py2.7.egg/markdown/__init__.py", line 411, in markdown return md.convert(text) File "/path/to/reviewboard/lib/python2.7/site-packages/Markdown-2.4.1-py2.7.egg/markdown/__init__.py", line 275, in convert if not source.strip(): AttributeError: 'NoneType' object has no attribute 'strip'
This will require a fix in Review Board.
- Confirmed + PendingReview
Worked around this in rbnotefield. Version 1.0.1 is now out: https://www.reviewboard.org/store/products/rbnotefield/ Fixed in rbnotefield master (b99daa6). Also fixed in review Board release-2.0.x (877aadb)
- PendingReview + Fixed