id summary reporter owner description type status priority milestone component resolution keywords cc parents 5435 Catch bad comment links to prevent server errors ayleph "While debugging #5376, we noticed that attempting to access a comment which doesn't exist causes a server error. Ideally, we'd catch this and throw a 404 or just show the media page instead. Here's an example to illustrate the issue, but these links may go away soon :) There's an actual comment at this link. Following it works as expected. http://pumpdev.goblinrefuge.com/u/ayleph/m/doge/c/23/#comment Here I fat-fingered manually typing in the link, and I get a server error. http://pumpdev.goblinrefuge.com/u/ayleph/m/doge/c/123/#comment Here's what the error looks like. {{{ Error - : 'NoneType' object has no attribute 'id' URL: http://pumpdev.goblinrefuge.com/u/ayleph/m/doge/c/28/ File '/path/to/mediagoblin/lib/python2.7/site-packages/Paste-1.7.5.1-py2.7.egg/paste/exceptions/errormiddleware.py', line 144 in __call__ app_iter = self.application(environ, sr_checker) File '/path/to/mediagoblin/mediagoblin/app.py', line 342 in __call__ return self.call_backend(environ, start_response) File '/path/to/mediagoblin/lib/python2.7/site-packages/Werkzeug-0.9.6-py2.7.egg/werkzeug/wsgi.py', line 588 in __call__ return self.app(environ, start_response) File '/path/to/mediagoblin/mediagoblin/app.py', line 276 in call_backend return self._finish_call_backend(request, environ, start_response) File '/path/to/mediagoblin/mediagoblin/app.py', line 318 in _finish_call_backend response = controller(request) File '/path/to/mediagoblin/mediagoblin/decorators.py', line 47 in wrapper return controller(request, *args, **kwargs) File '/path/to/mediagoblin/mediagoblin/decorators.py', line 210 in wrapper return controller(request, media=media, *args, **kwargs) File '/path/to/mediagoblin/mediagoblin/decorators.py', line 170 in wrapper return controller(request, page=page, *args, **kwargs) File '/path/to/mediagoblin/mediagoblin/user_pages/views.py', line 135 in media_home mark_comment_notification_seen(comment_id, request.user) File '/path/to/mediagoblin/mediagoblin/notifications/__init__.py', line 75 in mark_comment_notification_seen obj_pk=comment.id, AttributeError: 'NoneType' object has no attribute 'id' }}}" enhancement closed minor programming fixed comment,link,error,404 tsyesika