1526: AttributeError: 'DashboardDataGrid' object has no attribute 'id_list'

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'}>
chipx86
#1 chipx86
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.
#2 kbot****@gmai***** (Google Code) (Is this you? Claim this profile.)
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'}>
chipx86
#3 chipx86
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.
#4 ben.h*****@gmai***** (Google Code) (Is this you? Claim this profile.)
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.
david
#6 david
  • +Component-Dashboard
#7 mt02****@gmai***** (Google Code) (Is this you? Claim this profile.)
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)}>
#8 Chris******@actia***** (Google Code) (Is this you? Claim this profile.)
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'}>
#9 Chris******@actia***** (Google Code) (Is this you? Claim this profile.)
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'}>
#10 togn*****@gmai***** (Google Code) (Is this you? Claim this profile.)
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'}>.
#11 Chris******@actia***** (Google Code) (Is this you? Claim this profile.)
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'}>
#12 ex***@dps-on******* (Google Code) (Is this you? Claim this profile.)
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)}>
chipx86
#13 chipx86
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
chipx86
#14 chipx86
Should hopefully be fixed now on Djblets master (1129312)
  • -Confirmed
    +Fixed
  • +Djblets