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.

Reply via email to