#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.

Reply via email to