Status: New
Owner: ----
Labels: Type-Defect Priority-Medium
New issue 3599 by dccar...@gmail.com: certain search string causes "Error
500"
https://code.google.com/p/reviewboard/issues/detail?id=3599
*** READ THIS BEFORE POSTING!
***
*** You must complete this form in its entirety, or your bug report will be
*** rejected.
***
*** If you have a security issue to report, please send it confidentially
to
*** secur...@reviewboard.org. Posting security-related issues to this bug
*** tracker causes us to have to do an emergency release.
***
*** For customer support, please post to reviewbo...@googlegroups.com
***
*** If you have a patch, please submit it to
http://reviews.reviewboard.org/
***
*** This bug tracker is public. Please check that any logs or other
information
*** that you include has been stripped of confidential information.
What version are you running?
2.0.8
Server is running CentOS 7.
What's the URL of the page containing the problem?
http://reviewboard.mycompany.com/r/search/?q=test
What steps will reproduce the problem?
1. Search for string "test"
NOTE that other searches work.
What is the expected output? What do you see instead?
I expect a list of links to review requests containing the string "test".
There are definitely review requests that contain the string "test".
Instead, I get this:
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.
What operating system are you using? What browser?
OS: Mac OSX 10.9 -- However, this has been confirmed on Windows and Linux
as well.
Browser: Chrome
Please provide any additional information below.
I'm setting up a new RB deployment -- version 2.0.8 on CentOS 7.
We have 20 or so test review requests that were created by the beta
testers. When I search for most strings, I get the expected list of
links. However, when I search for a certain string ("test"), I get
a "Something broke! (Error 500)" error.
Since the error is the following (snippet of full traceback):
File "/usr/lib/python2.7/site-packages/djblets/util/templatetags/djblets_utils.py",
line
203, in user_displayname
return user.get_full_name() or user.username
AttributeError: 'str' object has no attribute 'get_full_name'
I thought, "Oh, I know what this is." Some of the new users (NIS) are
being created without a last name, because some of our NIS entries
have "last, first" in the fullname field. So, I fixed those users as the
admin, by adding the correct first and last name.
Alas, that did not fix it. I'm still getting the same error. Is there
something else that I need to do to 'flush' this change out of a buffer or
something??
Here is the full traceback:
Traceback (most recent call last):
File "/usr/lib/python2.7/site-packages/django/core/handlers/base.py",
line 112, in get_response
response = wrapped_callback(request, *callback_args, **callback_kwargs)
File "/usr/lib/python2.7/site-packages/django/utils/decorators.py", line
29, in _wrapper
return bound_func(*args, **kwargs)
File "/usr/lib/python2.7/site-packages/reviewboard/accounts/decorators.py",
line 23, in _check
return view_func(*args, **kwargs)
File "/usr/lib/python2.7/site-packages/django/utils/decorators.py", line
25, in bound_func
return func(self, *args2, **kwargs2)
File "/usr/lib/python2.7/site-packages/django/utils/decorators.py", line
29, in _wrapper
return bound_func(*args, **kwargs)
File "/usr/lib/python2.7/site-packages/reviewboard/site/decorators.py",
line 35, in _check
return view_func(request, local_site=local_site, *args, **kwargs)
File "/usr/lib/python2.7/site-packages/django/utils/decorators.py", line
25, in bound_func
return func(self, *args2, **kwargs2)
File "/usr/lib/python2.7/site-packages/reviewboard/reviews/views.py",
line 1475, in __call__
return super(ReviewRequestSearchView, self).__call__(request)
File "/usr/lib/python2.7/site-packages/haystack/views.py", line 50, in
__call__
return self.create_response()
File "/usr/lib/python2.7/site-packages/reviewboard/reviews/views.py",
line 1520, in create_response
context_instance=self.context_class(self.request))
File "/usr/lib/python2.7/site-packages/django/shortcuts/__init__.py",
line 29, in render_to_response
return HttpResponse(loader.render_to_string(*args, **kwargs),
**httpresponse_kwargs)
File "/usr/lib/python2.7/site-packages/django/template/loader.py", line
169, in render_to_string
return t.render(context_instance)
File "/usr/lib/python2.7/site-packages/django/template/base.py", line
140, in render
return self._render(context)
File "/usr/lib/python2.7/site-packages/django/template/base.py", line
134, in _render
return self.nodelist.render(context)
File "/usr/lib/python2.7/site-packages/django/template/base.py", line
840, in render
bit = self.render_node(node, context)
File "/usr/lib/python2.7/site-packages/django/template/base.py", line
854, in render_node
return node.render(context)
File "/usr/lib/python2.7/site-packages/django/template/loader_tags.py",
line 123, in render
return compiled_parent._render(context)
File "/usr/lib/python2.7/site-packages/django/template/base.py", line
134, in _render
return self.nodelist.render(context)
File "/usr/lib/python2.7/site-packages/django/template/base.py", line
840, in render
bit = self.render_node(node, context)
File "/usr/lib/python2.7/site-packages/django/template/base.py", line
854, in render_node
return node.render(context)
File "/usr/lib/python2.7/site-packages/django/template/loader_tags.py",
line 62, in render
result = block.nodelist.render(context)
File "/usr/lib/python2.7/site-packages/django/template/base.py", line
840, in render
bit = self.render_node(node, context)
File "/usr/lib/python2.7/site-packages/django/template/base.py", line
854, in render_node
return node.render(context)
File "/usr/lib/python2.7/site-packages/django/template/loader_tags.py",
line 62, in render
result = block.nodelist.render(context)
File "/usr/lib/python2.7/site-packages/django/template/base.py", line
840, in render
bit = self.render_node(node, context)
File "/usr/lib/python2.7/site-packages/django/template/base.py", line
854, in render_node
return node.render(context)
File "/usr/lib/python2.7/site-packages/django/template/defaulttags.py",
line 203, in render
nodelist.append(node.render(context))
File "/usr/lib/python2.7/site-packages/django/templatetags/i18n.py", line
127, in render
tmp_context[var] = val.resolve(context)
File "/usr/lib/python2.7/site-packages/django/template/base.py", line
613, in resolve
new_obj = func(obj, *arg_vals)
File "/usr/lib/python2.7/site-packages/djblets/util/templatetags/djblets_utils.py",
line 203, in user_displayname
return user.get_full_name() or user.username
AttributeError: 'str' object has no attribute 'get_full_name'
<WSGIRequest
path:/r/search/,
GET:<QueryDict: {u'q': [u'test']}>,
POST:<QueryDict: {}>,
COOKIES:{'collapsediffs': 'True',
'csrftoken': 'Et9WvlrHMs8PVcvrEUBGiMSju4jL6yz9',
'rbsessionid': 'mbj0vgf66eviveznsx1ibsmzr05uenoa'},
META:{'CONTEXT_DOCUMENT_ROOT': '/var/www/ReviewBoard/htdocs',
'CONTEXT_PREFIX': '',
'DOCUMENT_ROOT': '/var/www/ReviewBoard/htdocs',
'GATEWAY_INTERFACE': 'CGI/1.1',
'HTTP_ACCEPT':
'text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8',
'HTTP_ACCEPT_ENCODING': 'gzip,deflate,sdch',
'HTTP_ACCEPT_LANGUAGE': 'en-US,en;q=0.8',
'HTTP_CONNECTION': 'keep-alive',
'HTTP_COOKIE': 'rbsessionid=mbj0vgf66eviveznsx1ibsmzr05uenoa;
collapsediffs=True; csrftoken=Et9WvlrHMs8PVcvrEUBGiMSju4jL6yz9',
'HTTP_HOST': 'reviewboard',
'HTTP_REFERER': 'http://reviewboard/r/',
'HTTP_USER_AGENT': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_4)
AppleWebKit/537.36 (KHTML, like Gecko) Chrome/37.0.2062.124 Safari/537.36',
u'LOCAL_SITE': None,
'PATH_INFO': u'/r/search/',
'PATH_TRANSLATED': '/var/www/ReviewBoard/htdocs/reviewboard.wsgi/r/search/',
'QUERY_STRING': 'q=test',
'REMOTE_ADDR': '10.6.105.68',
'REMOTE_PORT': '64297',
'REQUEST_METHOD': 'GET',
'REQUEST_SCHEME': 'http',
'REQUEST_URI': '/r/search/?q=test',
'SCRIPT_FILENAME': '/var/www/ReviewBoard/htdocs/reviewboard.wsgi',
'SCRIPT_NAME': u'',
'SERVER_ADDR': '10.68.9.34',
'SERVER_ADMIN': 'build...@mycompany.com',
'SERVER_NAME': 'reviewboard',
'SERVER_PORT': '80',
'SERVER_PROTOCOL': 'HTTP/1.1',
'SERVER_SIGNATURE': '',
'SERVER_SOFTWARE': 'Apache/2.4.6 (CentOS) OpenSSL/1.0.1e-fips
mod_fcgid/2.3.9 mod_wsgi/3.4 Python/2.7.5',
'UNIQUE_ID': 'VC3ABUR8wqq0n1A1GiE3qQAAAAw',
u'USERNAME': u'dcarson',
u'USER_EMAIL': u'dcar...@mycompany.com',
'mod_wsgi.application_group': 'pinehurst.mycompany.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.queue_start': '1412284421095998',
'mod_wsgi.request_handler': 'wsgi-script',
'mod_wsgi.script_reloading': '1',
'mod_wsgi.version': (3, 4),
'wsgi.errors': <mod_wsgi.Log object at 0x7f03cd6d5630>,
'wsgi.file_wrapper': <built-in method file_wrapper of mod_wsgi.Adapter
object at 0x7f03cd630300>,
'wsgi.input': <mod_wsgi.Input object at 0x7f03cd6c0330>,
'wsgi.multiprocess': True,
'wsgi.multithread': False,
'wsgi.run_once': False,
'wsgi.url_scheme': 'http',
'wsgi.version': (1, 0)}>
--
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 reviewboard-issues+unsubscr...@googlegroups.com.
To post to this group, send email to reviewboard-issues@googlegroups.com.
Visit this group at http://groups.google.com/group/reviewboard-issues.
For more options, visit https://groups.google.com/d/optout.