[socorro-crashstats] simply searching for 20121018030618 as a buildid throws a 500 - Internal Server Error

VERIFIED FIXED

Status

Socorro
Webapp
VERIFIED FIXED
5 years ago
5 years ago

People

(Reporter: stephend, Assigned: adrian)

Tracking

Firefox Tracking Flags

(Not tracked)

Details

(URL)

Attachments

(1 attachment)

(Reporter)

Description

5 years ago
STR:

1. Load http://crash-stats-new-dev.allizom.org/home/products/Firefox
2. Click Advanced Search - http://crash-stats-new-dev.allizom.org/query/?product=Firefox#advanced
3. Enter "20121018030618" as a buildid and click Filter Crash Reports:

http://crash-stats-new-dev.allizom.org/query/?product=Firefox&version=ALL%3AALL&range_value=1&range_unit=weeks&date=10%2F30%2F2012+23%3A55%3A24&query_search=signature&query_type=contains&query=&reason=&build_id=20121018030618&process_type=any&hang_type=any#advanced

Actual:

500 Internal Server Error
(Assignee)

Updated

5 years ago
Assignee: nobody → adrian
(Reporter)

Comment 1

5 years ago
    Traceback:
    File "/home/rhelmer/src/socorro-crashstats/vendor/lib/python/django/core/handlers/base.py" in get_response
      111.                         response = callback(request, *callback_args, **callback_kwargs)
    File "/home/rhelmer/src/socorro-crashstats/crashstats/crashstats/views.py" in inner
      155.         return view(request, *args, **kwargs)
    File "/home/rhelmer/src/socorro-crashstats/crashstats/crashstats/views.py" in query
      1273.     return render(request, 'crashstats/query.html', data)
    File "/home/rhelmer/src/socorro-crashstats/vendor/lib/python/django/shortcuts/__init__.py" in render
      44.     return HttpResponse(loader.render_to_string(*args, **kwargs),
    File "/home/rhelmer/src/socorro-crashstats/vendor/lib/python/django/template/loader.py" in render_to_string
      176.         return t.render(context_instance)
    File "/home/rhelmer/src/socorro-crashstats/vendor/src/jingo/jingo/__init__.py" in render
      189.         return super(Template, self).render(context_dict)
    File "/home/rhelmer/src/socorro-crashstats/.virtualenv/lib/python2.6/site-packages/jinja2/environment.py" in render
      891.         return self.environment.handle_exception(exc_info, True)
    File "/home/rhelmer/src/socorro-crashstats/crashstats/crashstats/templates/crashstats/query.html" in top-level template code
      1. {% extends "crashstats_base.html" %}
    File "/home/rhelmer/src/socorro-crashstats/crashstats/base/templates/crashstats_base.html" in top-level template code
      134.         {% block content %}{% endblock %}
    File "/home/rhelmer/src/socorro-crashstats/crashstats/crashstats/templates/crashstats/query.html" in block "content"
      212.                     <a href="{{ url('crashstats.report_list') }}?signature={{ hit.signature|urlencode }}&amp;{{ report_list_query_string }}">
    File "/home/rhelmer/src/socorro-crashstats/crashstats/crashstats/helpers.py" in urlencode
      26.     return urllib.quote_plus(txt)
    File "/usr/lib/python2.6/urllib.py" in quote_plus
      1241.     if ' ' in s:
     
    Exception Type: TypeError at /query/
    Exception Value: argument of type 'NoneType' is not iterable
(Reporter)

Updated

5 years ago
Blocks: 805847
(Assignee)

Comment 2

5 years ago
(CC'ing Laura and Kairo, question below)

This is caused by a null signature. I was really thinking those were not existing anymore in the database, it seems I was wrong. 

Looking at prod, we do have null signatures: https://crash-stats.mozilla.com/query?product=Firefox&build_id=20121018030618&query_search=signature&query_type=contains&reason_type=contains&date=10%2F31%2F2012%2000%3A34%3A12&range_value=1&range_unit=weeks&hang_type=any&process_type=any&do_query=1&page=1 (search for "null"). The link to report/list is broken though. 

I think the report/list page doesn't make much sense for null signatures (correct me if I'm wrong), so I'm going to make it a bit different from prod: when we have a null signature, I'm going to not create the link to report/list for that signature, but simply display the (null signature) message and the link to explain what it is. 

If we actually want to be able to have report/list for empty or null signatures, we'll need to come up with a better plan to change both the middleware and the web app. 

Laura and KaiRo: do we want report/list for empty or null signatures?
(Assignee)

Comment 3

5 years ago
Proposed solution: https://github.com/mozilla/socorro-crashstats/pull/257

Comment 4

5 years ago
(In reply to Adrian Gaudebert [:adrian] from comment #2)
> Laura and KaiRo: do we want report/list for empty or null signatures?

If those reports (if we can check the crash IDs) really have a null signature, we want a report/list (but let's check because it looked to me recently as if we'd have empty signatures in the DB where calling up the report/idex page with their crash ID actually does reveal a signature, pointing the problem elsewhere).
I'd fully be OK with having the processor put a non-null "EMPTY:"-prefixed signature in there instead of an empty signature - but let's make sure the problem isn't wrong data going into the DB.

Comment 5

5 years ago
Commits pushed to master at https://github.com/mozilla/socorro-crashstats

https://github.com/mozilla/socorro-crashstats/commit/8dcc1383ca76fc15888074ff894af67c0448f69d
Fixes bug 807166 - No link to report/list for null signatures.

https://github.com/mozilla/socorro-crashstats/commit/55bc27cf6f107df780d8e6b0a88c8ea457396f44
Merge pull request #257 from AdrianGaudebert/807166-null-signatures-on-query

Fixes bug 807166 - No link to report/list for null signatures.

Updated

5 years ago
Status: NEW → RESOLVED
Last Resolved: 5 years ago
Resolution: --- → FIXED
(Reporter)

Comment 6

5 years ago
Created attachment 677176 [details]
Post-fix screenshot
(Reporter)

Comment 7

5 years ago
Verified FIXED:

http://crash-stats-new-dev.allizom.org/query/?product=Firefox&version=ALL%3AALL&range_value=1&range_unit=weeks&date=10%2F30%2F2012+23%3A55%3A24&query_search=signature&query_type=contains&query=&reason=&build_id=20121018030618&process_type=any&hang_type=any#advanced
Status: RESOLVED → VERIFIED
You need to log in before you can comment on or make changes to this bug.