Comment #5 on issue 2720 by [email protected]: ERROR (EXTERNAL IP):
Internal Server Error: /dashboard/
http://code.google.com/p/reviewboard/issues/detail?id=2720
Still in reviewboard == 1.7.6, djblets == 0.7.11.
More details: This looks like a thread safety issue.
When constructing a new instance of DataGrid(), the column attributes
aren't new Coulmn() instances.
https://github.com/djblets/djblets/blob/release-0.7.11/djblets/datagrid/grids.py#L442
Is going to break any other instances of the DataGrid. Because they all
share the same Column instances.
from StringIO import StringIO
from django.core.handlers.wsgi import WSGIRequest
from django.contrib.auth.models import *
from django.contrib.auth.models import User
from reviewboard.reviews.datagrids import DashboardDataGrid
def fake_get(path='/', user=None):
... req = WSGIRequest({
... 'REQUEST_METHOD': 'GET',
... 'PATH_INFO': path,
... 'wsgi.input': StringIO()})
... from django.contrib.auth.models import AnonymousUser
... req.user = AnonymousUser() if user is None else user
... return req
...
ddg1 =
DashboardDataGrid(fake_get(user=User.objects.get(username=username)))
ddg1.load_state()
ddg1.columns[0].datagrid == ddg1
True
ddg2 =
DashboardDataGrid(fake_get(user=User.objects.get(username=username)))
ddg2.load_state()
ddg2.columns[0].datagrid == ddg2
True
ddg1.columns[0].datagrid == ddg1
False
--
You received this message because this project is configured to send all
issue notifications to this address.
You may adjust your notification preferences at:
https://code.google.com/hosting/settings
--
You received this message because you are subscribed to the Google Groups
"reviewboard-issues" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/reviewboard-issues?hl=en.
For more options, visit https://groups.google.com/groups/opt_out.