1526: AttributeError: 'DashboardDataGrid' object has no attribute 'id_list'
- Fixed
- Review Board
paul.pe********@comca****** (Google Code) (Is this you? Claim this profile.) | |
July 21, 2011 | |
1860 |
This morning at 6:11am I received a "[Django] Error (EXTERNAL IP): /dashboard/" email from ReviewBoard. I am guessing one of my users did something this morning to cause me to get the email. See the traceback below... What version are you running? 1.5beta1 What's the URL of the page containing the problem? See traceback below What steps will reproduce the problem? No idea, it just happened early in the morning What is the expected output? What do you see instead? Error should not happen What operating system are you using? What browser? See headers in traceback below Please provide any additional information below. Traceback (most recent call last): File "c:\python25\lib\site-packages\django-1.1.1-py2.5.egg\django\core\handlers\base.py", line 92, in get_response response = callback(request, *callback_args, **callback_kwargs) File "c:\python25\lib\site-packages\Djblets-0.5.7-py2.5.egg\djblets\auth\util.py", line 46, in _checklogin return view_func(request, *args, **kwargs) File "c:\python25\lib\site-packages\ReviewBoard-1.5beta1-py2.5.egg\reviewboard\accounts\decorators.py", line 43, in _check_valid_prefs return view_func(request, *args, **kwargs) File "c:\python25\lib\site-packages\ReviewBoard-1.5beta1-py2.5.egg\reviewboard\reviews\views.py", line 307, in dashboard return grid.render_to_response(template_name) File "c:\python25\lib\site-packages\Djblets-0.5.7-py2.5.egg\djblets\datagrid\grids.py", line 680, in render_to_response self.load_state() File "c:\python25\lib\site-packages\Djblets-0.5.7-py2.5.egg\djblets\datagrid\grids.py", line 516, in load_state self.precompute_objects() File "c:\python25\lib\site-packages\Djblets-0.5.7-py2.5.egg\djblets\datagrid\grids.py", line 593, in precompute_objects pk__in=self.id_list).order_by()) File "c:\python25\lib\site-packages\ReviewBoard-1.5beta1-py2.5.egg\reviewboard\reviews\datagrids.py", line 386, in post_process_queryset queryset.with_counts(self.request.user)) File "c:\python25\lib\site-packages\Djblets-0.5.7-py2.5.egg\djblets\datagrid\grids.py", line 634, in post_process_queryset queryset = column.augment_queryset(queryset) File "c:\python25\lib\site-packages\ReviewBoard-1.5beta1-py2.5.egg\reviewboard\reviews\datagrids.py", line 53, in augment_queryset pk__in=self.datagrid.id_list).values_list('pk', flat=True) AttributeError: 'DashboardDataGrid' object has no attribute 'id_list' <ModPythonRequest path:/dashboard/, GET:<QueryDict: {u'view': [u'outgoing']}>, POST:<QueryDict: {}>, COOKIES:{'rbsessionid': '58e43b176636145d6af36a1b61fe2009'}, META:{'AUTH_TYPE': None, 'CONTENT_LENGTH': 0, 'CONTENT_TYPE': None, 'GATEWAY_INTERFACE': 'CGI/1.1', 'HTTP_ACCEPT': 'application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5', 'HTTP_ACCEPT_CHARSET': 'ISO-8859-1,utf-8;q=0.7,*;q=0.3', 'HTTP_ACCEPT_ENCODING': 'gzip,deflate,sdch', 'HTTP_ACCEPT_LANGUAGE': 'en-US,en;q=0.8', 'HTTP_CONNECTION': 'keep-alive', 'HTTP_COOKIE': 'rbsessionid=58e43b176636145d6af36a1b61fe2009', 'HTTP_HOST': 'codereview', 'HTTP_REFERER': 'http://codereview/dashboard/?view=outgoing', 'HTTP_USER_AGENT': 'Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US) AppleWebKit/532.5 (KHTML, like Gecko) Chrome/4.0.249.89 Safari/532.5', 'PATH_INFO': u'/dashboard/', 'PATH_TRANSLATED': None, 'QUERY_STRING': 'view=outgoing', 'REMOTE_ADDR': '10.100.120.33', 'REMOTE_HOST': None, 'REMOTE_IDENT': None, 'REMOTE_USER': None, 'REQUEST_METHOD': 'GET', 'SCRIPT_NAME': '', 'SERVER_NAME': 'devsrvsea01.twistpair.local', 'SERVER_PORT': 80, 'SERVER_PROTOCOL': 'HTTP/1.1', 'SERVER_SOFTWARE': 'mod_python'}>
Very interesting, considering the function that accesses id_list comes immediately after id_list is set... I'd love to find a solid repro case for this.
We are experiencing the same problem, I can reproduce this consistently any time I attempt to add a new default reviewers group What's the URL of the page containing the problem? See traceback below What steps will reproduce the problem? Attempting to add a new default reviewers group causes this every time. (FYI, this is not a clean install but rather an update from a 1.0.5 version. What is the expected output? What do you see instead? Error should not happen What operating system are you using? What browser? See headers in traceback below Please provide any additional information below. Traceback (most recent call last): File "/usr/lib/python2.4/site-packages/Django-1.1.1-py2.4.egg/django/core/handlers/base.py", line 92, in get_response response = callback(request, *callback_args, **callback_kwargs) File "/usr/lib/python2.4/site-packages/Django-1.1.1-py2.4.egg/django/contrib/admin/sites.py", line 490, in root return self.model_page(request, *url.split('/', 2)) File "/usr/lib/python2.4/site-packages/Django-1.1.1-py2.4.egg/django/views/decorators/cache.py", line 44, in _wrapped_view_func response = view_func(request, *args, **kwargs) File "/usr/lib/python2.4/site-packages/Django-1.1.1-py2.4.egg/django/contrib/admin/sites.py", line 509, in model_page return admin_obj(request, rest_of_url) File "/usr/lib/python2.4/site-packages/Django-1.1.1-py2.4.egg/django/contrib/admin/options.py", line 1098, in __call__ return self.change_view(request, unquote(url)) File "/usr/lib/python2.4/site-packages/Django-1.1.1-py2.4.egg/django/db/transaction.py", line 240, in _commit_on_success res = func(*args, **kw) File "/usr/lib/python2.4/site-packages/Django-1.1.1-py2.4.egg/django/contrib/admin/options.py", line 840, in change_view form = ModelForm(instance=obj) File "/usr/lib/python2.4/site-packages/Django-1.1.1-py2.4.egg/django/forms/models.py", line 222, in __init__ object_data = model_to_dict(instance, opts.fields, opts.exclude) File "/usr/lib/python2.4/site-packages/Django-1.1.1-py2.4.egg/django/forms/models.py", line 140, in model_to_dict data[f.name] = [obj.pk for obj in f.value_from_object(instance)] File "/usr/lib/python2.4/site-packages/Django-1.1.1-py2.4.egg/django/db/models/query.py", line 106, in _result_iter self._fill_cache() File "/usr/lib/python2.4/site-packages/Django-1.1.1-py2.4.egg/django/db/models/query.py", line 692, in _fill_cache self._result_cache.append(self._iter.next()) File "/usr/lib/python2.4/site-packages/Django-1.1.1-py2.4.egg/django/db/models/query.py", line 238, in iterator for row in self.query.results_iter(): File "/usr/lib/python2.4/site-packages/Django-1.1.1-py2.4.egg/django/db/models/sql/query.py", line 287, in results_iter for rows in self.execute_sql(MULTI): File "/usr/lib/python2.4/site-packages/Django-1.1.1-py2.4.egg/django/db/models/sql/query.py", line 2369, in execute_sql cursor.execute(sql, params) File "/usr/lib/python2.4/site-packages/Django-1.1.1-py2.4.egg/django/db/backends/mysql/base.py", line 84, in execute return self.cursor.execute(query, args) File "/usr/lib/python2.4/site-packages/MySQL_python-1.2.3c1-py2.4-linux- i686.egg/MySQLdb/cursors.py", line 173, in execute File "/usr/lib/python2.4/site-packages/MySQL_python-1.2.3c1-py2.4-linux- i686.egg/MySQLdb/connections.py", line 36, in defaulterrorhandler ProgrammingError: (1146, "Table 'reviewboard.reviews_defaultreviewer_repository' doesn't exist") <ModPythonRequest path:/admin/db/reviews/defaultreviewer/1/, GET:<QueryDict: {}>, POST:<QueryDict: {}>, COOKIES:{'rbsessionid': '3337662edc577c6e1885e6811e8868cf'}, META:{'AUTH_TYPE': None, 'CONTENT_LENGTH': 0, 'CONTENT_TYPE': None, 'GATEWAY_INTERFACE': 'CGI/1.1', 'HTTP_ACCEPT': 'application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5', 'HTTP_ACCEPT_ENCODING': 'gzip, deflate', 'HTTP_ACCEPT_LANGUAGE': 'en-us', 'HTTP_CONNECTION': 'keep-alive', 'HTTP_COOKIE': 'rbsessionid=3337662edc577c6e1885e6811e8868cf', 'HTTP_HOST': 'testrbsrv.mdigitalm.com', 'HTTP_REFERER': 'http://testrbsrv.mdigitalm.com/admin/db/reviews/defaultreviewer/', 'HTTP_USER_AGENT': 'Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_6_3; en-us) AppleWebKit/531.22.7 (KHTML, like Gecko) Version/4.0.5 Safari/531.22.7', 'PATH_INFO': u'/admin/db/reviews/defaultreviewer/1/', 'PATH_TRANSLATED': None, 'QUERY_STRING': None, 'REMOTE_ADDR': '10.200.11.101', 'REMOTE_HOST': None, 'REMOTE_IDENT': None, 'REMOTE_USER': None, 'REQUEST_METHOD': 'GET', 'SCRIPT_NAME': '', 'SERVER_NAME': 'testrbsrv.mdigitalm.com', 'SERVER_PORT': 80, 'SERVER_PROTOCOL': 'HTTP/1.1', 'SERVER_SOFTWARE': 'mod_python'}>
kbottner: Your problem is different, and due to your database schema being out of date. You need to run 'rb-site upgrade' on the site directory. See the documentation for upgrading for more information.
We're seeing this error (the trace reported by the original reporter, not kbottner) a lot in our logs after upgrading to 1.5RC1. I'm not sure what the impact is though.
I just got the same problem. I include the traceback as well. It seems to be identical, but I'm running a later version using mod_wsgi with Python 2.7 and not mod_python. It was my own computer that caused the error, but it could not be reproduced. Traceback (most recent call last): File "C:\Python27\lib\site-packages\django-1.2.4-py2.7.egg\django\core\handlers\base.py", line 100, in get_response response = callback(request, *callback_args, **callback_kwargs) File "C:\Python27\lib\site-packages\djblets-0.6.6-py2.7.egg\djblets\auth\util.py", line 46, in _checklogin return view_func(request, *args, **kwargs) File "C:\Python27\lib\site-packages\reviewboard-1.5.1-py2.7.egg\reviewboard\accounts\decorators.py", line 46, in _check_valid_prefs return view_func(request, *args, **kwargs) File "C:\Python27\lib\site-packages\reviewboard-1.5.1-py2.7.egg\reviewboard\reviews\views.py", line 330, in dashboard return grid.render_to_response(template_name) File "C:\Python27\lib\site-packages\djblets-0.6.6-py2.7.egg\djblets\datagrid\grids.py", line 700, in render_to_response self.load_state() File "C:\Python27\lib\site-packages\djblets-0.6.6-py2.7.egg\djblets\datagrid\grids.py", line 535, in load_state self.precompute_objects() File "C:\Python27\lib\site-packages\djblets-0.6.6-py2.7.egg\djblets\datagrid\grids.py", line 611, in precompute_objects pk__in=self.id_list).order_by()) File "C:\Python27\lib\site-packages\reviewboard-1.5.1-py2.7.egg\reviewboard\reviews\datagrids.py", line 438, in post_process_queryset queryset.with_counts(self.request.user)) File "C:\Python27\lib\site-packages\djblets-0.6.6-py2.7.egg\djblets\datagrid\grids.py", line 654, in post_process_queryset queryset = column.augment_queryset(queryset) File "C:\Python27\lib\site-packages\reviewboard-1.5.1-py2.7.egg\reviewboard\reviews\datagrids.py", line 83, in augment_queryset pk__in=self.datagrid.id_list).values_list('pk', flat=True) AttributeError: 'DashboardDataGrid' object has no attribute 'id_list' <WSGIRequest GET:<QueryDict: {}>, POST:<QueryDict: {}>, COOKIES:{'collapsediffs': 'True', 'csrftoken': 'ac00aafe43790bd98aa413439d849c68', 'rbsessionid': '96f0843efe8068cf9cc21ca584987c75'}, META:{'COMSPEC': 'C:\\Windows\\system32\\cmd.exe', 'DOCUMENT_ROOT': 'C:/www/vhosts/reviewboard/htdocs', 'GATEWAY_INTERFACE': 'CGI/1.1', 'HTTP_ACCEPT': 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8', 'HTTP_ACCEPT_CHARSET': 'ISO-8859-1,utf-8;q=0.7,*;q=0.7', 'HTTP_ACCEPT_ENCODING': 'gzip, deflate', 'HTTP_ACCEPT_LANGUAGE': 'sv-se,sv;q=0.8,en-us;q=0.5,en;q=0.3', 'HTTP_CACHE_CONTROL': 'max-age=0', 'HTTP_CONNECTION': 'keep-alive', 'HTTP_COOKIE': 'rbsessionid=96f0843efe8068cf9cc21ca584987c75; csrftoken=ac00aafe43790bd98aa413439d849c68; collapsediffs=True', 'HTTP_DNT': '1', 'HTTP_HOST': 'reviewboard.<snipped>', 'HTTP_KEEP_ALIVE': '115', 'HTTP_USER_AGENT': 'Mozilla/5.0 (Windows NT 6.0; WOW64; rv:2.0) Gecko/20100101 Firefox/4.0', 'PATHEXT': '.COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH;.MSC', 'PATH_INFO': u'/dashboard/', 'PATH_TRANSLATED': 'C:\\www\\vhosts\\reviewboard\\htdocs\\reviewboard.wsgi\\dashboard\\', 'QUERY_STRING': '', 'REMOTE_ADDR': '<snipped>', 'REMOTE_PORT': '53596', 'REQUEST_METHOD': 'GET', 'REQUEST_URI': '/dashboard/', 'SCRIPT_FILENAME': 'C:/www/vhosts/reviewboard/htdocs/reviewboard.wsgi', 'SCRIPT_NAME': u'', 'SERVER_ADDR': '<snipped>', 'SERVER_ADMIN': '<snipped>', 'SERVER_NAME': 'reviewboard.<snipped>', 'SERVER_PORT': '80', 'SERVER_PROTOCOL': 'HTTP/1.1', 'SERVER_SIGNATURE': '', 'SERVER_SOFTWARE': 'Apache/2.2.17 (Win32) DAV/2 PHP/5.3.5 mod_wsgi/3.3 Python/2.7.1 SVN/1.6.15', 'SystemRoot': 'C:\\Windows', 'WINDIR': 'C:\\Windows', 'mod_wsgi.application_group': 'reviewboard.<snipped>|', 'mod_wsgi.callable_object': 'application', 'mod_wsgi.handler_script': '', 'mod_wsgi.input_chunked': '0', 'mod_wsgi.process_group': '', 'mod_wsgi.request_handler': 'wsgi-script', 'mod_wsgi.script_reloading': '1', 'mod_wsgi.version': (3, 3), 'wsgi.errors': <mod_wsgi.Log object at 0x065E7908>, 'wsgi.file_wrapper': <built-in method file_wrapper of mod_wsgi.Adapter object at 0x06492F50>, 'wsgi.input': <mod_wsgi.Input object at 0x065E7A20>, 'wsgi.multiprocess': False, 'wsgi.multithread': True, 'wsgi.run_once': False, 'wsgi.url_scheme': 'http', 'wsgi.version': (1, 1)}>
I just hit this too after an upgrade from: 1.0.5.1 to: 1.5.5. Using Python 2.5 under Ubuntu 8.04.3 LTS (hardy) on x86. So far a one off. Browser/user see: Something broke! (Error 500) It appears something broke when you tried to go to here. This is either a bug in Review Board or a server configuration error. Please report this to your administrator. Email trace back: Traceback (most recent call last): File "/usr/lib/python2.5/site-packages/Django-1.3-py2.5.egg/django/core/handlers/base.py", line 111, in get_response response = callback(request, *callback_args, **callback_kwargs) File "/usr/lib/python2.5/site-packages/Djblets-0.6.7-py2.5.egg/djblets/auth/util.py", line 46, in _checklogin return view_func(request, *args, **kwargs) File "/usr/lib/python2.5/site-packages/ReviewBoard-1.5.5.dev-py2.5.egg/reviewboard/accounts/decorators.py", line 46, in _check_valid_prefs return view_func(request, *args, **kwargs) File "/usr/lib/python2.5/site-packages/ReviewBoard-1.5.5.dev-py2.5.egg/reviewboard/reviews/views.py", line 330, in dashboard return grid.render_to_response(template_name) File "/usr/lib/python2.5/site-packages/Djblets-0.6.7-py2.5.egg/djblets/datagrid/grids.py", line 699, in render_to_response self.load_state() File "/usr/lib/python2.5/site-packages/Djblets-0.6.7-py2.5.egg/djblets/datagrid/grids.py", line 534, in load_state self.precompute_objects() File "/usr/lib/python2.5/site-packages/Djblets-0.6.7-py2.5.egg/djblets/datagrid/grids.py", line 610, in precompute_objects pk__in=self.id_list).order_by()) File "/usr/lib/python2.5/site-packages/ReviewBoard-1.5.5.dev-py2.5.egg/reviewboard/reviews/datagrids.py", line 444, in post_process_queryset queryset.with_counts(self.request.user)) File "/usr/lib/python2.5/site-packages/Djblets-0.6.7-py2.5.egg/djblets/datagrid/grids.py", line 653, in post_process_queryset queryset = column.augment_queryset(queryset) File "/usr/lib/python2.5/site-packages/ReviewBoard-1.5.5.dev-py2.5.egg/reviewboard/reviews/datagrids.py", line 81, in augment_queryset pk__in=self.datagrid.id_list).values_list('pk', flat=True) AttributeError: 'DashboardDataGrid' object has no attribute 'id_list' <ModPythonRequest path:/dashboard/, GET:<QueryDict: {u'view': [u'to-me']}>, POST:<QueryDict: {}>, COOKIES:{'collapsediffs': 'True', 'rbsessionid': **SNIP**}, META:{'AUTH_TYPE': None, 'CONTENT_LENGTH': 0, 'CONTENT_TYPE': None, 'GATEWAY_INTERFACE': 'CGI/1.1', 'HTTP_ACCEPT': 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8', 'HTTP_ACCEPT_CHARSET': 'ISO-8859-1,utf-8;q=0.7,*;q=0.7', 'HTTP_ACCEPT_ENCODING': 'gzip,deflate', 'HTTP_ACCEPT_LANGUAGE': 'en-us,en;q=0.5', 'HTTP_CACHE_CONTROL': 'max-age=0', 'HTTP_CONNECTION': 'keep-alive', 'HTTP_COOKIE': 'rbsessionid=**SNIP**; collapsediffs=True', 'HTTP_HOST': '**SNIP**', 'HTTP_KEEP_ALIVE': '115', 'HTTP_USER_AGENT': 'Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.2.16) Gecko/20110319 Firefox/3.6.16 ( .NET CLR 3.5.30729)', 'PATH_INFO': u'/dashboard/', 'PATH_TRANSLATED': None, 'QUERY_STRING': 'view=to-me', 'REMOTE_ADDR': '**SNIP**', 'REMOTE_HOST': None, 'REMOTE_IDENT': None, 'REMOTE_USER': None, 'REQUEST_METHOD': 'GET', 'SCRIPT_NAME': '', 'SERVER_NAME': '**SNIP**', 'SERVER_PORT': 80, 'SERVER_PROTOCOL': 'HTTP/1.1', 'SERVER_SOFTWARE': 'mod_python'}>
The same user who experience this problem yesterday hit a similar issue. The dashboard 500'd for client BUT the trace back is different. I'm not sure if this is the same issue, different manifestation or something else. Interestingly Djblets is the main thing in the trace back not Reviewboard. When we upgraded we jumped from Djblets-0.5.5 to Djblets-0.6.7. Django version jump was Django-1.1.1 to Django-1.3 Traceback (most recent call last): File "/usr/lib/python2.5/site-packages/Django-1.3-py2.5.egg/django/core/handlers/base.py", line 111, in get_response response = callback(request, *callback_args, **callback_kwargs) File "/usr/lib/python2.5/site-packages/Djblets-0.6.7-py2.5.egg/djblets/auth/util.py", line 46, in _checklogin return view_func(request, *args, **kwargs) File "/usr/lib/python2.5/site-packages/ReviewBoard-1.5.5.dev-py2.5.egg/reviewboard/accounts/decorators.py", line 46, in _check_valid_prefs return view_func(request, *args, **kwargs) File "/usr/lib/python2.5/site-packages/ReviewBoard-1.5.5.dev-py2.5.egg/reviewboard/reviews/views.py", line 330, in dashboard return grid.render_to_response(template_name) File "/usr/lib/python2.5/site-packages/Djblets-0.6.7-py2.5.egg/djblets/datagrid/grids.py", line 699, in render_to_response self.load_state() File "/usr/lib/python2.5/site-packages/Djblets-0.6.7-py2.5.egg/djblets/datagrid/grids.py", line 534, in load_state self.precompute_objects() File "/usr/lib/python2.5/site-packages/Djblets-0.6.7-py2.5.egg/djblets/datagrid/grids.py", line 636, in precompute_objects for obj in object_list File "/usr/lib/python2.5/site-packages/Djblets-0.6.7-py2.5.egg/djblets/datagrid/grids.py", line 241, in render_cell mark_safe(self.datagrid.cell_template_obj.render(ctx)) AttributeError: 'NoneType' object has no attribute 'render' <ModPythonRequest path:/dashboard/, GET:<QueryDict: {}>, POST:<QueryDict: {}>, COOKIES:{'collapsediffs': 'True', 'rbsessionid': '**SNIP**'}, META:{'AUTH_TYPE': None, 'CONTENT_LENGTH': 0, 'CONTENT_TYPE': None, 'GATEWAY_INTERFACE': 'CGI/1.1', 'HTTP_ACCEPT': 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8', 'HTTP_ACCEPT_CHARSET': 'ISO-8859-1,utf-8;q=0.7,*;q=0.7', 'HTTP_ACCEPT_ENCODING': 'gzip,deflate', 'HTTP_ACCEPT_LANGUAGE': 'en-us,en;q=0.5', 'HTTP_CACHE_CONTROL': 'max-age=0', 'HTTP_CONNECTION': 'keep-alive', 'HTTP_COOKIE': 'rbsessionid=**SNIP**; collapsediffs=True', 'HTTP_HOST': '**SNIP**', 'HTTP_KEEP_ALIVE': '115', 'HTTP_USER_AGENT': 'Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.2.16) Gecko/20110319 Firefox/3.6.16 ( .NET CLR 3.5.30729)', 'PATH_INFO': u'/dashboard/', 'PATH_TRANSLATED': None, 'QUERY_STRING': None, 'REMOTE_ADDR': '**SNIP**', 'REMOTE_HOST': None, 'REMOTE_IDENT': None, 'REMOTE_USER': None, 'REQUEST_METHOD': 'GET', 'SCRIPT_NAME': '', 'SERVER_NAME': '**SNIP**', 'SERVER_PORT': 80, 'SERVER_PROTOCOL': 'HTTP/1.1', 'SERVER_SOFTWARE': 'mod_python'}>
For the record, I get this occasionally too. Haven't been able to determine who was using the server when the error happened or what he was doing. Traceback (most recent call last): File "C:\Python25\lib\site-packages\django-1.2.3-py2.5.egg\django\core\handlers\base.py", line 100, in get_response response = callback(request, *callback_args, **callback_kwargs) File "C:\Python25\lib\site-packages\djblets-0.6.6-py2.5.egg\djblets\auth\util.py", line 46, in _checklogin return view_func(request, *args, **kwargs) File "C:\Python25\lib\site-packages\reviewboard-1.5.1-py2.5.egg\reviewboard\accounts\decorators.py", line 46, in _check_valid_prefs return view_func(request, *args, **kwargs) File "C:\Python25\lib\site-packages\reviewboard-1.5.1-py2.5.egg\reviewboard\reviews\views.py", line 330, in dashboard return grid.render_to_response(template_name) File "C:\Python25\lib\site-packages\djblets-0.6.6-py2.5.egg\djblets\datagrid\grids.py", line 700, in render_to_response self.load_state() File "C:\Python25\lib\site-packages\djblets-0.6.6-py2.5.egg\djblets\datagrid\grids.py", line 535, in load_state self.precompute_objects() File "C:\Python25\lib\site-packages\djblets-0.6.6-py2.5.egg\djblets\datagrid\grids.py", line 611, in precompute_objects pk__in=self.id_list).order_by()) File "C:\Python25\lib\site-packages\reviewboard-1.5.1-py2.5.egg\reviewboard\reviews\datagrids.py", line 438, in post_process_queryset queryset.with_counts(self.request.user)) File "C:\Python25\lib\site-packages\djblets-0.6.6-py2.5.egg\djblets\datagrid\grids.py", line 654, in post_process_queryset queryset = column.augment_queryset(queryset) File "C:\Python25\lib\site-packages\reviewboard-1.5.1-py2.5.egg\reviewboard\reviews\datagrids.py", line 83, in augment_queryset pk__in=self.datagrid.id_list).values_list('pk', flat=True) AttributeError: 'DashboardDataGrid' object has no attribute 'id_list' <ModPythonRequest path:/dashboard/, GET:<QueryDict: {u'view': [u'outgoing']}>, POST:<QueryDict: {}>, COOKIES:{'rbsessionid': 'c307d37908b2901bbd2e42e4b714ce9b'}, META:{'AUTH_TYPE': None, 'CONTENT_LENGTH': 0, 'CONTENT_TYPE': None, 'GATEWAY_INTERFACE': 'CGI/1.1', 'HTTP_ACCEPT': 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8', 'HTTP_ACCEPT_CHARSET': 'ISO-8859-1,utf-8;q=0.7,*;q=0.7', 'HTTP_ACCEPT_ENCODING': 'gzip,deflate', 'HTTP_ACCEPT_LANGUAGE': 'pt-br,pt;q=0.8,en-us;q=0.5,en;q=0.3', 'HTTP_CACHE_CONTROL': 'max-age=0', 'HTTP_CONNECTION': 'keep-alive', 'HTTP_COOKIE': 'rbsessionid=c307d37908b2901bbd2e42e4b714ce9b', 'HTTP_HOST': 'myserver2:8080', 'HTTP_KEEP_ALIVE': '115', 'HTTP_REFERER': 'http://myserver2:8080/dashboard/?view=outgoing', 'HTTP_USER_AGENT': 'Mozilla/5.0 (Windows; U; Windows NT 5.1; pt-BR; rv:1.9.2.8) Gecko/20100722 Firefox/3.6.8', 'PATH_INFO': u'/dashboard/', 'PATH_TRANSLATED': None, 'QUERY_STRING': 'view=outgoing', 'REMOTE_ADDR': '172.16.44.45', 'REMOTE_HOST': None, 'REMOTE_IDENT': None, 'REMOTE_USER': None, 'REQUEST_METHOD': 'GET', 'SCRIPT_NAME': '', 'SERVER_NAME': 'myserver2', 'SERVER_PORT': 8080, 'SERVER_PROTOCOL': 'HTTP/1.1', 'SERVER_SOFTWARE': 'mod_python'}>.
Today I got this error for /r (rather than the dashboard). Traceback (most recent call last): File "/usr/lib/python2.5/site-packages/Django-1.3-py2.5.egg/django/core/handlers/base.py", line 111, in get_response response = callback(request, *callback_args, **callback_kwargs) File "/usr/lib/python2.5/site-packages/ReviewBoard-1.5.5.dev-py2.5.egg/reviewboard/accounts/decorators.py", line 27, in _check return view_func(*args, **kwargs) File "/usr/lib/python2.5/site-packages/ReviewBoard-1.5.5.dev-py2.5.egg/reviewboard/reviews/views.py", line 285, in all_review_requests return datagrid.render_to_response(template_name) File "/usr/lib/python2.5/site-packages/Djblets-0.6.7-py2.5.egg/djblets/datagrid/grids.py", line 699, in render_to_response self.load_state() File "/usr/lib/python2.5/site-packages/Djblets-0.6.7-py2.5.egg/djblets/datagrid/grids.py", line 534, in load_state self.precompute_objects() File "/usr/lib/python2.5/site-packages/Djblets-0.6.7-py2.5.egg/djblets/datagrid/grids.py", line 610, in precompute_objects pk__in=self.id_list).order_by()) File "/usr/lib/python2.5/site-packages/ReviewBoard-1.5.5.dev-py2.5.egg/reviewboard/reviews/datagrids.py", line 444, in post_process_queryset queryset.with_counts(self.request.user)) File "/usr/lib/python2.5/site-packages/Djblets-0.6.7-py2.5.egg/djblets/datagrid/grids.py", line 653, in post_process_queryset queryset = column.augment_queryset(queryset) File "/usr/lib/python2.5/site-packages/ReviewBoard-1.5.5.dev-py2.5.egg/reviewboard/reviews/datagrids.py", line 81, in augment_queryset pk__in=self.datagrid.id_list).values_list('pk', flat=True) AttributeError: 'DashboardDataGrid' object has no attribute 'id_list' <ModPythonRequest path:/r/, GET:<QueryDict: {}>, POST:<QueryDict: {}>, COOKIES:{'rbsessionid': **SNIP**}, META:{'AUTH_TYPE': None, 'CONTENT_LENGTH': 0, 'CONTENT_TYPE': None, 'GATEWAY_INTERFACE': 'CGI/1.1', 'HTTP_ACCEPT': 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8', 'HTTP_ACCEPT_CHARSET': 'ISO-8859-1,utf-8;q=0.7,*;q=0.7', 'HTTP_ACCEPT_ENCODING': 'gzip,deflate', 'HTTP_ACCEPT_LANGUAGE': 'en-us,en;q=0.5', 'HTTP_CONNECTION': 'keep-alive', 'HTTP_COOKIE': 'rbsessionid=**SNIP**', 'HTTP_HOST': '**SNIP**', 'HTTP_KEEP_ALIVE': '300', 'HTTP_REFERER': 'http://**SNIP**/r/8736/', 'HTTP_USER_AGENT': 'Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.0.15) Gecko/2009101601 Firefox/3.0.15 (.NET CLR 3.5.30729)', 'PATH_INFO': u'/r/', 'PATH_TRANSLATED': None, 'QUERY_STRING': None, 'REMOTE_ADDR': '**SNIP**', 'REMOTE_HOST': None, 'REMOTE_IDENT': None, 'REMOTE_USER': None, 'REQUEST_METHOD': 'GET', 'SCRIPT_NAME': '', 'SERVER_NAME': '**SNIP**', 'SERVER_PORT': 80, 'SERVER_PROTOCOL': 'HTTP/1.1', 'SERVER_SOFTWARE': 'mod_python'}>
I get this error on a regular base of around 30 times since beginning of June. Most times the error is in the form of AttributeError: 'DashboardDataGrid' object has no attribute 'id_list' sometimes also AttributeError: 'ReviewRequestDataGrid' object has no attribute 'id_list' We're working with a small development team running reviewboard on a windows server. First install was 1.5.1 I think, then upgraded to 1.5.2 now running 1.5.5. Let me know if there is something I can do to provide further information on this and I will wait for the next "internal server error" mail. Traceback (most recent call last): File "C:\Python27\lib\site-packages\django-1.3-py2.7.egg\django\core\handlers\base.py", line 111, in get_response response = callback(request, *callback_args, **callback_kwargs) File "C:\Python27\lib\site-packages\djblets-0.6.7-py2.7.egg\djblets\auth\util.py", line 46, in _checklogin return view_func(request, *args, **kwargs) File "C:\Python27\lib\site-packages\reviewboard-1.5.5-py2.7.egg\reviewboard\accounts\decorators.py", line 46, in _check_valid_prefs return view_func(request, *args, **kwargs) File "C:\Python27\lib\site-packages\reviewboard-1.5.5-py2.7.egg\reviewboard\reviews\views.py", line 330, in dashboard return grid.render_to_response(template_name) File "C:\Python27\lib\site-packages\djblets-0.6.7-py2.7.egg\djblets\datagrid\grids.py", line 699, in render_to_response self.load_state() File "C:\Python27\lib\site-packages\djblets-0.6.7-py2.7.egg\djblets\datagrid\grids.py", line 534, in load_state self.precompute_objects() File "C:\Python27\lib\site-packages\djblets-0.6.7-py2.7.egg\djblets\datagrid\grids.py", line 610, in precompute_objects pk__in=self.id_list).order_by()) File "C:\Python27\lib\site-packages\reviewboard-1.5.5-py2.7.egg\reviewboard\reviews\datagrids.py", line 444, in post_process_queryset queryset.with_counts(self.request.user)) File "C:\Python27\lib\site-packages\djblets-0.6.7-py2.7.egg\djblets\datagrid\grids.py", line 653, in post_process_queryset queryset = column.augment_queryset(queryset) File "C:\Python27\lib\site-packages\reviewboard-1.5.5-py2.7.egg\reviewboard\reviews\datagrids.py", line 81, in augment_queryset pk__in=self.datagrid.id_list).values_list('pk', flat=True) AttributeError: 'DashboardDataGrid' object has no attribute 'id_list' <WSGIRequest GET:<QueryDict: {u'sort': [u'time_added,branch'], u'view': [u'mine']}>, POST:<QueryDict: {}>, COOKIES:{'JSESSIONID': '**SNIP**', 'collapsediffs': 'True', 'hudson_auto_refresh': 'true', 'iconSize': '16x16', 'rbsessionid': '**SNIP**', 'screenResolution': '1280x1024', 'storedtemplate': 'calm'}, META:{'COMSPEC': 'C:\\Windows\\system32\\cmd.exe', 'DOCUMENT_ROOT': 'C:/reviewboard/htdocs', 'GATEWAY_INTERFACE': 'CGI/1.1', 'HTTP_ACCEPT': 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8', 'HTTP_ACCEPT_CHARSET': 'ISO-8859-1,utf-8;q=0.7,*;q=0.7', 'HTTP_ACCEPT_ENCODING': 'gzip,deflate', 'HTTP_ACCEPT_LANGUAGE': 'de-de,de;q=0.8,en-us;q=0.5,en;q=0.3', 'HTTP_CONNECTION': 'keep-alive', 'HTTP_COOKIE': 'rbsessionid=**SNIP**; iconSize=16x16; storedtemplate=calm; hudson_auto_refresh=true; screenResolution=1280x1024; JSESSIONID=**SNIP**; collapsediffs=True', 'HTTP_DNT': '1', 'HTTP_HOST': '**SNIP**', 'HTTP_KEEP_ALIVE': '115', 'HTTP_REFERER': 'http://**SNIP**/dashboard/?view=mine', 'HTTP_USER_AGENT': 'Mozilla/5.0 (X11; U; Linux x86_64; de; rv:1.9.2.17) Gecko/20110420 SUSE/3.6.17-0.2.1 Firefox/3.6.17', 'PATHEXT': '.COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH;.MSC', 'PATH_INFO': u'/dashboard/', 'PATH_TRANSLATED': 'C:\\reviewboard\\htdocs\\reviewboard.wsgi\\dashboard\\', 'QUERY_STRING': 'view=mine&sort=time_added,branch', 'REMOTE_ADDR': '**SNIP**', 'REMOTE_PORT': '37193', 'REQUEST_METHOD': 'GET', 'REQUEST_URI': '/dashboard/?view=mine&sort=time_added,branch', 'SCRIPT_FILENAME': 'C:/reviewboard/htdocs/reviewboard.wsgi', 'SCRIPT_NAME': u'', 'SERVER_ADDR': '**SNIP**', 'SERVER_ADMIN': '**SNIP**', 'SERVER_NAME': '**SNIP**', 'SERVER_PORT': '80', 'SERVER_PROTOCOL': 'HTTP/1.1', 'SERVER_SIGNATURE': '', 'SERVER_SOFTWARE': 'Apache/2.2.17 (Win32) PHP/5.3.6 mod_wsgi/3.3 Python/2.7.1', 'SystemRoot': 'C:\\Windows', 'WINDIR': 'C:\\Windows', 'mod_wsgi.application_group': '**SNIP**|', 'mod_wsgi.callable_object': 'application', 'mod_wsgi.handler_script': '', 'mod_wsgi.input_chunked': '0', 'mod_wsgi.process_group': '', 'mod_wsgi.request_handler': 'wsgi-script', 'mod_wsgi.script_reloading': '1', 'mod_wsgi.version': (3, 3), 'wsgi.errors': <mod_wsgi.Log object at 0x03E752F0>, 'wsgi.file_wrapper': <built-in method file_wrapper of mod_wsgi.Adapter object at 0x052F0F98>, 'wsgi.input': <mod_wsgi.Input object at 0x03E754A8>, 'wsgi.multiprocess': False, 'wsgi.multithread': True, 'wsgi.run_once': False, 'wsgi.url_scheme': 'http', 'wsgi.version': (1, 1)}>
I would love to fix this bug, but it defies all sense. We set id_list just before calling the set of functions that leads to this. So it should work, but clearly it sometimes breaks. Why, we don't know, because it's not consistent. I'm going to be updating things to set id_list in the constructor for the object, but it may just mask other problems.
-
+ Confirmed -
+ Milestone-Release1.6