4675: Save existing mercurial repo settings leads to error 500

Misery
chipx86
chipx86
4677

What version are you running?

3.0.4

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

https://rb/admin/db/scmtools/repository/1/

What steps will reproduce the problem?

  1. Go to repository settings
  2. Press save
  3. Error 500

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

Also there are a lot of "required fields" active since 3.0.4.
"Account" for hosting service but I don't use it. Also a "repository plan" and some bug tracker fields.
Repository type is Mercurial and I did not change anything. Just an upgrade from 3.0.3 to 3.0.4.

What operating system are you using? What browser?

Linux, Firefox

Please provide any additional information below.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

File "/opt/reviewboard/dist/lib/python2.7/site-packages/django/template/defaulttags.py", line 506, in render
output = self.nodelist.render(context)

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

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

File "/opt/reviewboard/dist/lib/python2.7/site-packages/django/template/defaulttags.py", line 298, in render
match = condition.eval(context)

File "/opt/reviewboard/dist/lib/python2.7/site-packages/django/template/defaulttags.py", line 867, in eval
return self.value.resolve(context, ignore_failures=True)

File "/opt/reviewboard/dist/lib/python2.7/site-packages/django/template/base.py", line 585, in resolve
obj = self.var.resolve(context)

File "/opt/reviewboard/dist/lib/python2.7/site-packages/django/template/base.py", line 735, in resolve
value = self._resolve_lookup(context)

File "/opt/reviewboard/dist/lib/python2.7/site-packages/django/template/base.py", line 771, in _resolve_lookup
current = getattr(current, bit)

File "/opt/reviewboard/dist/lib/python2.7/site-packages/django/forms/forms.py", line 449, in errors
return self.form.errors.get(self.name, self.form.error_class())

File "/opt/reviewboard/dist/lib/python2.7/site-packages/django/forms/forms.py", line 121, in errors
self.full_clean()

File "/opt/reviewboard/dist/lib/python2.7/site-packages/django/forms/forms.py", line 274, in full_clean
self._clean_form()

File "/opt/reviewboard/dist/lib/python2.7/site-packages/django/forms/forms.py", line 300, in _clean_form
self.cleaned_data = self.clean()

File "/opt/reviewboard/dist/lib/python2.7/site-packages/reviewboard/hostingsvcs/gerrit.py", line 126, in clean
gerrit_url = self.cleaned_data['gerrit_url']

KeyError: u'gerrit_url'

Misery
#1 Misery

Cannot change anything since upgrade to 3.0.4

chipx86
#2 chipx86

We're going to get a new release out ASAP. Working on a fix.

  • -New
    +Confirmed
  • +Release-3.0.x
  • -Priority:Medium
    +Component:Admin
    +Priority:Critical
  • +chipx86
chipx86
#3 chipx86

Fix up for review: https://reviews.reviewboard.org/r/9819/

  • -Confirmed
    +PendingReview
chipx86
#4 chipx86

Fixed in 3c414d0a18dc812d3aeca2bdfad8721a05592fb8. Release will go out today.

  • -PendingReview
    +Fixed