Re: Crash while viewing review request
Looks like a fine fix. Can you post this on reviews.reviewboard.org? Thanks! -David On Wed, Sep 9, 2015 at 10:33 AM Alexey Neymanwrote: > FWIW, converting an iterator to list explicitly seems to help. Changed > this line: > > return json.dumps(review_ui.serialize_comments( > file_attachment.get_comments())) > > to this > > return json.dumps(list(review_ui.serialize_comments( > file_attachment.get_comments( > > no crash observed. Don't know if it is the right fix, though. > > Regards, > Alexey. > > > On Friday, September 4, 2015 at 10:23:45 AM UTC-7, Alexey Neyman wrote: >> >> Hi all, >> >> We have a "Something broke (Error 500)" while trying to access one of the >> review requests. I am pretty sure it was displayed fine previously at some >> point, but at some point stopped working. I suspect the 2.0.19 update is >> the culprit, as this last call in the stack trace >> (file_attachment_comments) has changed substantially from 2.0.18. >> >> The stack trace is: >> >> File >> "/usr/lib/python2.6/site-packages/Django-1.6.11.1-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.19-py2.6.egg/reviewboard/accounts/decorators.py", >> line 21, in _check >> return login_required(view_func)(*args, **kwargs) >> File >> "/usr/lib/python2.6/site-packages/Django-1.6.11.1-py2.6.egg/django/contrib/auth/decorators.py", >> line 22, in _wrapped_view >> return view_func(request, *args, **kwargs) >> File >> "/usr/lib/python2.6/site-packages/ReviewBoard-2.0.19-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.19-py2.6.egg/reviewboard/reviews/views.py", >> line 721, in review_detail >> RequestContext(request, context_data)) >> File >> "*/usr/lib/python2.6/site-packages/Django-1.6.11.1-py2.6.egg/django/shortcuts/*__init__.py", >> line 29, in render_to_response >> return HttpResponse(loader.render_to_string(*args, **kwargs), >> **httpresponse_kwargs) >> File >> "/usr/lib/python2.6/site-packages/Django-1.6.11.1-py2.6.egg/django/template/loader.py", >> line 164, in render_to_string >> return t.render(Context(dictionary)) >> File >> "/usr/lib/python2.6/site-packages/Django-1.6.11.1-py2.6.egg/django/template/base.py", >> line 140, in render >> return self._render(context) >> File >> "/usr/lib/python2.6/site-packages/Django-1.6.11.1-py2.6.egg/django/template/base.py", >> line 134, in _render >> return self.nodelist.render(context) >> File >> "/usr/lib/python2.6/site-packages/Django-1.6.11.1-py2.6.egg/django/template/base.py", >> line 840, in render >> bit = self.render_node(node, context) >> File >> "/usr/lib/python2.6/site-packages/Django-1.6.11.1-py2.6.egg/django/template/base.py", >> line 854, in render_node >> return node.render(context) >> File >> "/usr/lib/python2.6/site-packages/Django-1.6.11.1-py2.6.egg/django/template/loader_tags.py", >> line 123, in render >> return compiled_parent._render(context) >> File >> "/usr/lib/python2.6/site-packages/Django-1.6.11.1-py2.6.egg/django/template/base.py", >> line 134, in _render >> return self.nodelist.render(context) >> File >> "/usr/lib/python2.6/site-packages/Django-1.6.11.1-py2.6.egg/django/template/base.py", >> line 840, in render >> bit = self.render_node(node, context) >> File >> "/usr/lib/python2.6/site-packages/Django-1.6.11.1-py2.6.egg/django/template/base.py", >> line 854, in render_node >> return node.render(context) >> File >> "/usr/lib/python2.6/site-packages/Django-1.6.11.1-py2.6.egg/django/template/loader_tags.py", >> line 123, in render >> return compiled_parent._render(context) >> File >> "/usr/lib/python2.6/site-packages/Django-1.6.11.1-py2.6.egg/django/template/base.py", >> line 134, in _render >> return self.nodelist.render(context) >> File >> "/usr/lib/python2.6/site-packages/Django-1.6.11.1-py2.6.egg/django/template/base.py", >> line 840, in render >> bit = self.render_node(node, context) >> File >> "/usr/lib/python2.6/site-packages/Django-1.6.11.1-py2.6.egg/django/template/base.py", >> line 854, in render_node >> return node.render(context) >> File >> "/usr/lib/python2.6/site-packages/Django-1.6.11.1-py2.6.egg/django/template/loader_tags.py", >> line 62, in render >> result = block.nodelist.render(context) >> File >> "/usr/lib/python2.6/site-packages/Django-1.6.11.1-py2.6.egg/django/template/base.py", >> line 840, in render >> bit = self.render_node(node, context) >> File >> "/usr/lib/python2.6/site-packages/Django-1.6.11.1-py2.6.egg/django/template/base.py", >> line 854, in render_node >> return node.render(context) >> File >>
Re: Crash while viewing review request
FWIW, converting an iterator to list explicitly seems to help. Changed this line: return json.dumps(review_ui.serialize_comments( file_attachment.get_comments())) to this return json.dumps(list(review_ui.serialize_comments( file_attachment.get_comments( no crash observed. Don't know if it is the right fix, though. Regards, Alexey. On Friday, September 4, 2015 at 10:23:45 AM UTC-7, Alexey Neyman wrote: > > Hi all, > > We have a "Something broke (Error 500)" while trying to access one of the > review requests. I am pretty sure it was displayed fine previously at some > point, but at some point stopped working. I suspect the 2.0.19 update is > the culprit, as this last call in the stack trace > (file_attachment_comments) has changed substantially from 2.0.18. > > The stack trace is: > > File > "/usr/lib/python2.6/site-packages/Django-1.6.11.1-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.19-py2.6.egg/reviewboard/accounts/decorators.py", > line 21, in _check > return login_required(view_func)(*args, **kwargs) > File > "/usr/lib/python2.6/site-packages/Django-1.6.11.1-py2.6.egg/django/contrib/auth/decorators.py", > line 22, in _wrapped_view > return view_func(request, *args, **kwargs) > File > "/usr/lib/python2.6/site-packages/ReviewBoard-2.0.19-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.19-py2.6.egg/reviewboard/reviews/views.py", > line 721, in review_detail > RequestContext(request, context_data)) > File > "*/usr/lib/python2.6/site-packages/Django-1.6.11.1-py2.6.egg/django/shortcuts/*__init__.py", > line 29, in render_to_response > return HttpResponse(loader.render_to_string(*args, **kwargs), > **httpresponse_kwargs) > File > "/usr/lib/python2.6/site-packages/Django-1.6.11.1-py2.6.egg/django/template/loader.py", > line 164, in render_to_string > return t.render(Context(dictionary)) > File > "/usr/lib/python2.6/site-packages/Django-1.6.11.1-py2.6.egg/django/template/base.py", > line 140, in render > return self._render(context) > File > "/usr/lib/python2.6/site-packages/Django-1.6.11.1-py2.6.egg/django/template/base.py", > line 134, in _render > return self.nodelist.render(context) > File > "/usr/lib/python2.6/site-packages/Django-1.6.11.1-py2.6.egg/django/template/base.py", > line 840, in render > bit = self.render_node(node, context) > File > "/usr/lib/python2.6/site-packages/Django-1.6.11.1-py2.6.egg/django/template/base.py", > line 854, in render_node > return node.render(context) > File > "/usr/lib/python2.6/site-packages/Django-1.6.11.1-py2.6.egg/django/template/loader_tags.py", > line 123, in render > return compiled_parent._render(context) > File > "/usr/lib/python2.6/site-packages/Django-1.6.11.1-py2.6.egg/django/template/base.py", > line 134, in _render > return self.nodelist.render(context) > File > "/usr/lib/python2.6/site-packages/Django-1.6.11.1-py2.6.egg/django/template/base.py", > line 840, in render > bit = self.render_node(node, context) > File > "/usr/lib/python2.6/site-packages/Django-1.6.11.1-py2.6.egg/django/template/base.py", > line 854, in render_node > return node.render(context) > File > "/usr/lib/python2.6/site-packages/Django-1.6.11.1-py2.6.egg/django/template/loader_tags.py", > line 123, in render > return compiled_parent._render(context) > File > "/usr/lib/python2.6/site-packages/Django-1.6.11.1-py2.6.egg/django/template/base.py", > line 134, in _render > return self.nodelist.render(context) > File > "/usr/lib/python2.6/site-packages/Django-1.6.11.1-py2.6.egg/django/template/base.py", > line 840, in render > bit = self.render_node(node, context) > File > "/usr/lib/python2.6/site-packages/Django-1.6.11.1-py2.6.egg/django/template/base.py", > line 854, in render_node > return node.render(context) > File > "/usr/lib/python2.6/site-packages/Django-1.6.11.1-py2.6.egg/django/template/loader_tags.py", > line 62, in render > result = block.nodelist.render(context) > File > "/usr/lib/python2.6/site-packages/Django-1.6.11.1-py2.6.egg/django/template/base.py", > line 840, in render > bit = self.render_node(node, context) > File > "/usr/lib/python2.6/site-packages/Django-1.6.11.1-py2.6.egg/django/template/base.py", > line 854, in render_node > return node.render(context) > File > "/usr/lib/python2.6/site-packages/Django-1.6.11.1-py2.6.egg/django/template/loader_tags.py", > line 155, in render > return self.render_template(self.template, context) > File > "/usr/lib/python2.6/site-packages/Django-1.6.11.1-py2.6.egg/django/template/loader_tags.py", > line 137, in
Re: Crash while viewing review request
This is actually already fixed for 2.0.20, unless I missed something big. Planning a release in the next few days. Christian -- Christian Hammond - chip...@chipx86.com Review Board - https://www.reviewboard.org Beanbag, Inc. - https://www.beanbaginc.com On Wed, Sep 9, 2015 at 11:58 AM, David Trowbridgewrote: > Looks like a fine fix. Can you post this on reviews.reviewboard.org? > > Thanks! > -David > > On Wed, Sep 9, 2015 at 10:33 AM Alexey Neyman > wrote: > >> FWIW, converting an iterator to list explicitly seems to help. Changed >> this line: >> >> return json.dumps(review_ui.serialize_comments( >> file_attachment.get_comments())) >> >> to this >> >> return json.dumps(list(review_ui.serialize_comments( >> file_attachment.get_comments( >> >> no crash observed. Don't know if it is the right fix, though. >> >> Regards, >> Alexey. >> >> >> On Friday, September 4, 2015 at 10:23:45 AM UTC-7, Alexey Neyman wrote: >>> >>> Hi all, >>> >>> We have a "Something broke (Error 500)" while trying to access one of >>> the review requests. I am pretty sure it was displayed fine previously at >>> some point, but at some point stopped working. I suspect the 2.0.19 update >>> is the culprit, as this last call in the stack trace >>> (file_attachment_comments) has changed substantially from 2.0.18. >>> >>> The stack trace is: >>> >>> File >>> "/usr/lib/python2.6/site-packages/Django-1.6.11.1-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.19-py2.6.egg/reviewboard/accounts/decorators.py", >>> line 21, in _check >>> return login_required(view_func)(*args, **kwargs) >>> File >>> "/usr/lib/python2.6/site-packages/Django-1.6.11.1-py2.6.egg/django/contrib/auth/decorators.py", >>> line 22, in _wrapped_view >>> return view_func(request, *args, **kwargs) >>> File >>> "/usr/lib/python2.6/site-packages/ReviewBoard-2.0.19-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.19-py2.6.egg/reviewboard/reviews/views.py", >>> line 721, in review_detail >>> RequestContext(request, context_data)) >>> File >>> "*/usr/lib/python2.6/site-packages/Django-1.6.11.1-py2.6.egg/django/shortcuts/*__init__.py", >>> line 29, in render_to_response >>> return HttpResponse(loader.render_to_string(*args, **kwargs), >>> **httpresponse_kwargs) >>> File >>> "/usr/lib/python2.6/site-packages/Django-1.6.11.1-py2.6.egg/django/template/loader.py", >>> line 164, in render_to_string >>> return t.render(Context(dictionary)) >>> File >>> "/usr/lib/python2.6/site-packages/Django-1.6.11.1-py2.6.egg/django/template/base.py", >>> line 140, in render >>> return self._render(context) >>> File >>> "/usr/lib/python2.6/site-packages/Django-1.6.11.1-py2.6.egg/django/template/base.py", >>> line 134, in _render >>> return self.nodelist.render(context) >>> File >>> "/usr/lib/python2.6/site-packages/Django-1.6.11.1-py2.6.egg/django/template/base.py", >>> line 840, in render >>> bit = self.render_node(node, context) >>> File >>> "/usr/lib/python2.6/site-packages/Django-1.6.11.1-py2.6.egg/django/template/base.py", >>> line 854, in render_node >>> return node.render(context) >>> File >>> "/usr/lib/python2.6/site-packages/Django-1.6.11.1-py2.6.egg/django/template/loader_tags.py", >>> line 123, in render >>> return compiled_parent._render(context) >>> File >>> "/usr/lib/python2.6/site-packages/Django-1.6.11.1-py2.6.egg/django/template/base.py", >>> line 134, in _render >>> return self.nodelist.render(context) >>> File >>> "/usr/lib/python2.6/site-packages/Django-1.6.11.1-py2.6.egg/django/template/base.py", >>> line 840, in render >>> bit = self.render_node(node, context) >>> File >>> "/usr/lib/python2.6/site-packages/Django-1.6.11.1-py2.6.egg/django/template/base.py", >>> line 854, in render_node >>> return node.render(context) >>> File >>> "/usr/lib/python2.6/site-packages/Django-1.6.11.1-py2.6.egg/django/template/loader_tags.py", >>> line 123, in render >>> return compiled_parent._render(context) >>> File >>> "/usr/lib/python2.6/site-packages/Django-1.6.11.1-py2.6.egg/django/template/base.py", >>> line 134, in _render >>> return self.nodelist.render(context) >>> File >>> "/usr/lib/python2.6/site-packages/Django-1.6.11.1-py2.6.egg/django/template/base.py", >>> line 840, in render >>> bit = self.render_node(node, context) >>> File >>> "/usr/lib/python2.6/site-packages/Django-1.6.11.1-py2.6.egg/django/template/base.py", >>> line 854, in render_node >>> return node.render(context) >>> File >>>