#23714: Django-1.7 doesn't display 500 error pages during DST change
-------------------------------+--------------------
Reporter: mbertheau | Owner: nobody
Type: Uncategorized | Status: new
Component: Uncategorized | Version: 1.7
Severity: Normal | Keywords:
Triage Stage: Unreviewed | Has patch: 0
Easy pickings: 0 | UI/UX: 0
-------------------------------+--------------------
When an exception, that would normally - with `DEBUG=True` - be displayed
in the detailed 500 page, occurs during the DST/no-DST ambiguous hour of
the geographical area that is set as TIMEZONE, the handler crashes with
`AmbiguousTimeError`. This seriously limits the ability of many developers
to develop and Django applications for a time span of 1/8760 of the year.
This is unacceptable! ^^
{{{
2014-10-26 02:40:14,104 ERROR django.request
:handle_uncaught_exception 231 Internal Server Error:
/dashboard/suppliers/
Traceback (most recent call last):
File "/home/markus/src/django/django/core/handlers/base.py", line 111,
in get_response
response = wrapped_callback(request, *callback_args,
**callback_kwargs)
File "/home/markus/src/django/django/db/transaction.py", line 394, in
inner
return func(*args, **kwargs)
File "/home/markus/src/django/django/contrib/auth/decorators.py", line
22, in _wrapped_view
return view_func(request, *args, **kwargs)
File "/home/markus/src/django/django/contrib/auth/decorators.py", line
22, in _wrapped_view
return view_func(request, *args, **kwargs)
File "/home/markus/src/django/django/views/generic/base.py", line 69, in
view
return self.dispatch(request, *args, **kwargs)
File "/home/markus/src/django/django/views/generic/base.py", line 87, in
dispatch
return handler(request, *args, **kwargs)
File "/home/markus/src/django/django/views/generic/list.py", line 145,
in get
self.object_list = self.get_queryset()
File "/home/markus/src/machtfit/apps/dashboard/supplier/views.py", line
44, in get_queryset
.annotate(num_orders=Count('partner__order_line')))
File "/home/markus/src/django/django/db/models/query.py", line 802, in
annotate
is_summary=False)
File "/home/markus/src/django/django/db/models/sql/query.py", line 1012,
in add_aggregate
field_list, opts, self.get_initial_alias())
File "/home/markus/src/django/django/db/models/sql/query.py", line 1419,
in setup_joins
names, opts, allow_many, fail_on_missing=True)
File "/home/markus/src/django/django/db/models/sql/query.py", line 1383,
in names_to_path
self.raise_field_error(opts, name)
File "/home/markus/src/django/django/db/models/sql/query.py", line 1389,
in raise_field_error
"Choices are: %s" % (name, ", ".join(available)))
FieldError: Cannot resolve keyword u'order_line' into field. Choices are:
<irrelevant>
Traceback (most recent call last):
File "/usr/lib/python2.7/wsgiref/handlers.py", line 85, in run
self.result = application(self.environ, self.start_response)
File "/home/markus/src/django/django/contrib/staticfiles/handlers.py",
line 64, in __call__
return self.application(environ, start_response)
File "/home/markus/src/django/django/core/handlers/wsgi.py", line 187,
in __call__
response = self.get_response(request)
File "/home/markus/src/django/django/core/handlers/base.py", line 199,
in get_response
response = self.handle_uncaught_exception(request, resolver,
sys.exc_info())
File "/home/markus/src/django/django/core/handlers/base.py", line 236,
in handle_uncaught_exception
return debug.technical_500_response(request, *exc_info)
File "/home/markus/src/django/django/views/debug.py", line 91, in
technical_500_response
html = reporter.get_traceback_html()
File "/home/markus/src/django/django/views/debug.py", line 350, in
get_traceback_html
return t.render(c)
File "/home/markus/src/django/django/template/base.py", line 148, in
render
return self._render(context)
File "/home/markus/src/django/django/test/utils.py", line 88, in
instrumented_test_render
return self.nodelist.render(context)
File "/home/markus/src/django/django/template/base.py", line 844, in
render
bit = self.render_node(node, context)
File "/home/markus/src/django/django/template/debug.py", line 80, in
render_node
return node.render(context)
File "/home/markus/src/django/django/template/debug.py", line 90, in
render
output = self.filter_expression.resolve(context)
File "/home/markus/src/django/django/template/base.py", line 624, in
resolve
new_obj = func(obj, *arg_vals)
File "/home/markus/src/django/django/template/defaultfilters.py", line
769, in date
return format(value, arg)
File "/home/markus/src/django/django/utils/dateformat.py", line 343, in
format
return df.format(format_string)
File "/home/markus/src/django/django/utils/dateformat.py", line 35, in
format
pieces.append(force_text(getattr(self, piece)()))
File "/home/markus/src/django/django/utils/dateformat.py", line 268, in
r
return self.format('D, j M Y H:i:s O')
File "/home/markus/src/django/django/utils/dateformat.py", line 35, in
format
pieces.append(force_text(getattr(self, piece)()))
File "/home/markus/src/django/django/utils/dateformat.py", line 136, in
O
seconds = self.Z()
File "/home/markus/src/django/django/utils/dateformat.py", line 189, in
Z
offset = self.timezone.utcoffset(self.data)
File "/home/markus/.virtualenvs/machtfit/local/lib/python2.7/site-
packages/pytz/tzinfo.py", line 406, in utcoffset
dt = self.localize(dt, is_dst)
File "/home/markus/.virtualenvs/machtfit/local/lib/python2.7/site-
packages/pytz/tzinfo.py", line 349, in localize
raise AmbiguousTimeError(dt)
AmbiguousTimeError: 2014-10-26 02:40:14.190834
}}}
--
Ticket URL: <https://code.djangoproject.com/ticket/23714>
Django <https://code.djangoproject.com/>
The Web framework for perfectionists with deadlines.
--
You received this message because you are subscribed to the Google Groups
"Django updates" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To post to this group, send email to [email protected].
To view this discussion on the web visit
https://groups.google.com/d/msgid/django-updates/052.3b0f35f7c5e517105f5fd1596411f452%40djangoproject.com.
For more options, visit https://groups.google.com/d/optout.