4656: Internal Server Error when attempting to modify a review group

snalexp
david
david

What version are you running?

3.0.3

What's the URL of the page containing the problem?

/admin/db/reviews/group/6/

What steps will reproduce the problem?

  1. Log in as an administrator
  2. Choose Manage > Review Groups from the admin dashboard
  3. Click on a group name to manage the group

What is the expected output? What do you see instead?

I would expect to see the group details and the users in the group.
I see an error 500 page.

What operating system are you using? What browser?

Server : Linux
Client : Firefox on Windows

Please provide any additional information below.

The email to the site administrator contains the following message:

Traceback (most recent call last):

File "/usr/local/lib/python2.7/dist-packages/django/core/handlers/base.py", line 137, in get_response
response = response.render()

File "/usr/local/lib/python2.7/dist-packages/django/template/response.py", line 105, in render
self.content = self.rendered_content

File "/usr/local/lib/python2.7/dist-packages/django/template/response.py", line 82, in rendered_content
content = template.render(context)

File "/usr/local/lib/python2.7/dist-packages/django/template/base.py", line 140, in render
return self._render(context)

File "/usr/local/lib/python2.7/dist-packages/django/template/base.py", line 134, in _render
return self.nodelist.render(context)

File "/usr/local/lib/python2.7/dist-packages/django/template/base.py", line 840, in render
bit = self.render_node(node, context)

File "/usr/local/lib/python2.7/dist-packages/django/template/base.py", line 854, in render_node
return node.render(context)

File "/usr/local/lib/python2.7/dist-packages/django/template/loader_tags.py", line 123, in render
return compiled_parent._render(context)

File "/usr/local/lib/python2.7/dist-packages/django/template/base.py", line 134, in _render
return self.nodelist.render(context)

File "/usr/local/lib/python2.7/dist-packages/django/template/base.py", line 840, in render
bit = self.render_node(node, context)

File "/usr/local/lib/python2.7/dist-packages/django/template/base.py", line 854, in render_node
return node.render(context)

File "/usr/local/lib/python2.7/dist-packages/django/template/loader_tags.py", line 123, in render
return compiled_parent._render(context)

File "/usr/local/lib/python2.7/dist-packages/django/template/base.py", line 134, in _render
return self.nodelist.render(context)

File "/usr/local/lib/python2.7/dist-packages/django/template/base.py", line 840, in render
bit = self.render_node(node, context)

File "/usr/local/lib/python2.7/dist-packages/django/template/base.py", line 854, in render_node
return node.render(context)

File "/usr/local/lib/python2.7/dist-packages/django/template/loader_tags.py", line 62, in render
result = block.nodelist.render(context)

File "/usr/local/lib/python2.7/dist-packages/django/template/base.py", line 840, in render
bit = self.render_node(node, context)

File "/usr/local/lib/python2.7/dist-packages/django/template/base.py", line 854, in render_node
return node.render(context)

File "/usr/local/lib/python2.7/dist-packages/django/template/loader_tags.py", line 62, in render
result = block.nodelist.render(context)

File "/usr/local/lib/python2.7/dist-packages/django/template/base.py", line 840, in render
bit = self.render_node(node, context)

File "/usr/local/lib/python2.7/dist-packages/django/template/base.py", line 854, in render_node
return node.render(context)

File "/usr/local/lib/python2.7/dist-packages/django/template/loader_tags.py", line 62, in render
result = block.nodelist.render(context)

File "/usr/local/lib/python2.7/dist-packages/django/template/base.py", line 840, in render
bit = self.render_node(node, context)

File "/usr/local/lib/python2.7/dist-packages/django/template/base.py", line 854, in render_node
return node.render(context)

File "/usr/local/lib/python2.7/dist-packages/django/template/defaulttags.py", line 203, in render
nodelist.append(node.render(context))

File "/usr/local/lib/python2.7/dist-packages/django/template/loader_tags.py", line 155, in render
return self.render_template(self.template, context)

File "/usr/local/lib/python2.7/dist-packages/django/template/loader_tags.py", line 137, in render_template
output = template.render(context)

File "/usr/local/lib/python2.7/dist-packages/django/template/base.py", line 140, in render
return self._render(context)

File "/usr/local/lib/python2.7/dist-packages/django/template/base.py", line 134, in _render
return self.nodelist.render(context)

File "/usr/local/lib/python2.7/dist-packages/django/template/base.py", line 840, in render
bit = self.render_node(node, context)

File "/usr/local/lib/python2.7/dist-packages/django/template/base.py", line 854, in render_node
return node.render(context)

File "/usr/local/lib/python2.7/dist-packages/django/template/defaulttags.py", line 203, in render
nodelist.append(node.render(context))

File "/usr/local/lib/python2.7/dist-packages/django/template/defaulttags.py", line 203, in render
nodelist.append(node.render(context))

File "/usr/local/lib/python2.7/dist-packages/django/template/defaulttags.py", line 305, in render
return nodelist.render(context)

File "/usr/local/lib/python2.7/dist-packages/django/template/base.py", line 840, in render
bit = self.render_node(node, context)

File "/usr/local/lib/python2.7/dist-packages/django/template/base.py", line 854, in render_node
return node.render(context)

File "/usr/local/lib/python2.7/dist-packages/django/template/defaulttags.py", line 305, in render
return nodelist.render(context)

File "/usr/local/lib/python2.7/dist-packages/django/template/base.py", line 840, in render
bit = self.render_node(node, context)

File "/usr/local/lib/python2.7/dist-packages/django/template/base.py", line 854, in render_node
return node.render(context)

File "/usr/local/lib/python2.7/dist-packages/django/template/base.py", line 897, in render
return render_value_in_context(output, context)

File "/usr/local/lib/python2.7/dist-packages/django/template/base.py", line 875, in render_value_in_context
value = force_text(value)

File "/usr/local/lib/python2.7/dist-packages/django/utils/encoding.py", line 100, in force_text
s = s.unicode()

File "/usr/local/lib/python2.7/dist-packages/django/forms/forms.py", line 425, in str
return self.as_widget()

File "/usr/local/lib/python2.7/dist-packages/django/forms/forms.py", line 475, in as_widget
return widget.render(name, self.value(), attrs=attrs)

File "/usr/local/lib/python2.7/dist-packages/reviewboard/admin/form_widgets.py", line 102, in render
)['1x']

KeyError: u'1x'

<WSGIRequest
path:/admin/db/reviews/group/6/,
GET:<QueryDict: {}>,
POST:<QueryDict: {}>,
COOKIES:{'csrftoken': 'QvWFtcmvW7ujJCSRWJLTSgBdDiqMCwwW',
'rbsessionid': 'jh1g4u7zho9ckdinxnstyzioesy7ialy'},
META:{'CONTEXT_DOCUMENT_ROOT': '/var/www/rblocal/htdocs',
'CONTEXT_PREFIX': '',
u'CSRF_COOKIE': u'QvWFtcmvW7ujJCSRWJLTSgBdDiqMCwwW',
u'CSRF_COOKIE_USED': True,
'DOCUMENT_ROOT': '/var/www/rblocal/htdocs',
'GATEWAY_INTERFACE': 'CGI/1.1',
'HTTP_ACCEPT': 'text/html,application/xhtml+xml,application/xml;q=0.9,/;q=0.8',
'HTTP_ACCEPT_ENCODING': 'gzip, deflate',
'HTTP_ACCEPT_LANGUAGE': 'en-GB,en;q=0.5',
'HTTP_CONNECTION': 'keep-alive',
'HTTP_COOKIE': 'csrftoken=QvWFtcmvW7ujJCSRWJLTSgBdDiqMCwwW; rbsessionid=jh1g4u7zho9ckdinxnstyzioesy7ialy',
'HTTP_DNT': '1',
'HTTP_HOST': 'rblocal.domain.com',
'HTTP_REFERER': 'http://rblocal.domain.com/admin/db/reviews/group/',
'HTTP_UPGRADE_INSECURE_REQUESTS': '1',
'HTTP_USER_AGENT': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:58.0) Gecko/20100101 Firefox/58.0',
'PATH_INFO': u'/admin/db/reviews/group/6/',
'PATH_TRANSLATED': '/var/www/rblocal/htdocs/reviewboard.wsgi/admin/db/reviews/group/6/',
'QUERY_STRING': '',
'REMOTE_ADDR': '43.217.65.92',
'REMOTE_PORT': '52626',
'REQUEST_METHOD': 'GET',
'REQUEST_SCHEME': 'http',
'REQUEST_URI': '/admin/db/reviews/group/6/',
'SCRIPT_FILENAME': '/var/www/rblocal/htdocs/reviewboard.wsgi',
'SCRIPT_NAME': u'',
'SERVER_ADDR': '43.193.248.129',
'SERVER_ADMIN': '[no address given]',
'SERVER_NAME': 'rblocal.domain.com',
'SERVER_PORT': '80',
'SERVER_PROTOCOL': 'HTTP/1.1',
'SERVER_SIGNATURE': '<address>Apache/2.4.18 (Ubuntu) Server at rblocal.domain.com Port 80</address>\n',
'SERVER_SOFTWARE': 'Apache/2.4.18 (Ubuntu)',
'apache.version': (2, 4, 18),
'mod_wsgi.application_group': 'rblocal.domain.com|',
'mod_wsgi.callable_object': 'application',
'mod_wsgi.enable_sendfile': '0',
'mod_wsgi.handler_script': '',
'mod_wsgi.input_chunked': '0',
'mod_wsgi.listener_host': '',
'mod_wsgi.listener_port': '80',
'mod_wsgi.process_group': '',
'mod_wsgi.request_handler': 'wsgi-script',
'mod_wsgi.request_start': '1519823903412644',
'mod_wsgi.script_reloading': '1',
'mod_wsgi.script_start': '1519823903412804',
'mod_wsgi.version': (4, 3, 0),
'wsgi.errors': <mod_wsgi.Log object at 0x7f66457bbf18>,
'wsgi.file_wrapper': <type 'mod_wsgi.FileWrapper'>,
'wsgi.input': <mod_wsgi.Input object at 0x7f6645e7d570>,
'wsgi.multiprocess': True,
'wsgi.multithread': True,
'wsgi.run_once': False,
'wsgi.url_scheme': 'http',
'wsgi.version': (1, 0)}>

#2 snalexp

Hi @brennie,

That other ticket seems to imply this is fixed in 3.0.3, but I'm already running that version - did I read it wrong?

Thanks,
Alex

chipx86
#3 chipx86

Sorry, there was some confusion, as this is similar to but different from the other bug that was fixed in 3.0.3. We have a fix pending that will be in 3.0.4 (aiming for a Tuesday release).

chipx86
#4 chipx86

Ah the fix landed. It's b616ff3f141feee40e5197ca642bb8f92dd11db2 on release-3.0.x.

  • -Confirmed
    +Fixed
  • -chipx86
    +david
#5 snalexp

Cool, Thanks both.

Alex