#24455: Debug-page now shown when traceback contains LazyObjects which raise
exceptions when evaluated
------------------------------+-----------------------
Reporter: bpeschier | Owner: bpeschier
Type: Bug | Status: new
Component: Core (Other) | Version: master
Severity: Normal | Keywords: ams2015
Triage Stage: Unreviewed | Has patch: 0
Easy pickings: 0 | UI/UX: 0
------------------------------+-----------------------
Reproduce it by:
1. Create new project:
{{{
$ django-admin.py startproject djtest
$ cd djtest
$ python manage.py runserver
Performing system checks...
System check identified no issues (0 silenced).
You have unapplied migrations; your app may not work properly until they
are applied.
Run 'python manage.py migrate' to apply them.
March 07, 2015 - 09:57:35
Django version 1.9.dev20150306212014, using settings 'djtest.settings'
Starting development server at http://127.0.0.1:8000/
Quit the server with CONTROL-C.
}}}
2. Go to {{{localhost:8000/admin/}}} in browser
3. You get an error in the console {{{django.db.utils.OperationalError: no
such table: django_session}}} and {{{A server error occurred. Please
contact the administrator.}}} in your browser
What happens is request.user is queried, which triggers an error for table
django_session which is not migrated yet. While creating the 500 technical
debug page, all information is cleansed for sensitive information and this
also triggers the evaluation of the lazy user object. Since this happens
in the creation of the debug page, the exception is raised and not caught.
This results in the console-error instead of the debug page.
The evaluation of LazyObject in {{{cleanse_special_types}}} in debug.py is
correct and should happen (it might contain stuff to be cleansed), but any
exception while evaluating can be safely ignored so we can display the
original error.
--
Ticket URL: <https://code.djangoproject.com/ticket/24455>
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.c8c295c0d20620a294e7d836d5a61c5e%40djangoproject.com.
For more options, visit https://groups.google.com/d/optout.