Runserver_plus exceptions stacktrace is polluted
django-extensions
Python, JavaScript, HTML, Makefile, CSS
Hi there,
When an uncaught exception occurs in my apps using `runserver_plus`, the stacktrace is going through a significant amount of redundant code, and I can't figure out why. 10 calls are made to `six.reraise(exc_type, exc_value, tb)`. I think it should probably be improved for clarity.
Using Django 1.11 / Python 2.7 / Django Extensions last table (2.0.7).
```
127.0.0.1 - - [30/Apr/2018 14:55:01] "GET /crash/ HTTP/1.1" 500 -
Traceback (most recent call last):
File "/Users/antwan/Projects/myproject/venv/lib/python2.7/site-packages/django/contrib/staticfiles/handlers.py", line 63, in __call__
return self.application(environ, start_response)
File "/Users/antwan/Projects/myproject/venv/lib/python2.7/site-packages/django/core/handlers/wsgi.py", line 157, in __call__
response = self.get_response(request)
File "/Users/antwan/Projects/myproject/venv/lib/python2.7/site-packages/django/core/handlers/base.py", line 124, in get_response
response = self._middleware_chain(request)
File "/Users/antwan/Projects/myproject/venv/lib/python2.7/site-packages/django/core/handlers/exception.py", line 43, in inner
response = response_for_exception(request, exc)
File "/Users/antwan/Projects/myproject/venv/lib/python2.7/site-packages/django/core/handlers/exception.py", line 93, in response_for_exception
response = handle_uncaught_exception(request, get_resolver(get_urlconf()), sys.exc_info())
File "/Users/antwan/Projects/myproject/venv/lib/python2.7/site-packages/django/core/handlers/exception.py", line 139, in handle_uncaught_exception
return debug.technical_500_response(request, *exc_info)
File "/Users/antwan/Projects/myproject/venv/lib/python2.7/site-packages/django_extensions/management/technical_response.py", line 6, in null_technical_500_response
six.reraise(exc_type, exc_value, tb)
File "/Users/antwan/Projects/myproject/venv/lib/python2.7/site-packages/django/core/handlers/exception.py", line 41, in inner
response = get_response(request)
File "/Users/antwan/Projects/myproject/venv/lib/python2.7/site-packages/django/utils/deprecation.py", line 140, in __call__
response = self.get_response(request)
File "/Users/antwan/Projects/myproject/venv/lib/python2.7/site-packages/django/core/handlers/exception.py", line 43, in inner
response = response_for_exception(request, exc)
File "/Users/antwan/Projects/myproject/venv/lib/python2.7/site-packages/django/core/handlers/exception.py", line 93, in response_for_exception
response = handle_uncaught_exception(request, get_resolver(get_urlconf()), sys.exc_info())
File "/Users/antwan/Projects/myproject/venv/lib/python2.7/site-packages/django/core/handlers/exception.py", line 139, in handle_uncaught_exception
return debug.technical_500_response(request, *exc_info)
File "/Users/antwan/Projects/myproject/venv/lib/python2.7/site-packages/django_extensions/management/technical_response.py", line 6, in null_technical_500_response
six.reraise(exc_type, exc_value, tb)
File "/Users/antwan/Projects/myproject/venv/lib/python2.7/site-packages/django/core/handlers/exception.py", line 41, in inner
response = get_response(request)
File "/Users/antwan/Projects/myproject/venv/lib/python2.7/site-packages/django/utils/deprecation.py", line 140, in __call__
response = self.get_response(request)
File "/Users/antwan/Projects/myproject/venv/lib/python2.7/site-packages/django/core/handlers/exception.py", line 43, in inner
response = response_for_exception(request, exc)
File "/Users/antwan/Projects/myproject/venv/lib/python2.7/site-packages/django/core/handlers/exception.py", line 93, in response_for_exception
response = handle_uncaught_exception(request, get_resolver(get_urlconf()), sys.exc_info())
File "/Users/antwan/Projects/myproject/venv/lib/python2.7/site-packages/django/core/handlers/exception.py", line 139, in handle_uncaught_exception
return debug.technical_500_response(request, *exc_info)
File "/Users/antwan/Projects/myproject/venv/lib/python2.7/site-packages/django_extensions/management/technical_response.py", line 6, in null_technical_500_response
six.reraise(exc_type, exc_value, tb)
File "/Users/antwan/Projects/myproject/venv/lib/python2.7/site-packages/django/core/handlers/exception.py", line 41, in inner
response = get_response(request)
File "/Users/antwan/Projects/myproject/venv/lib/python2.7/site-packages/django/utils/deprecation.py", line 140, in __call__
response = self.get_response(request)
File "/Users/antwan/Projects/myproject/venv/lib/python2.7/site-packages/django/core/handlers/exception.py", line 43, in inner
response = response_for_exception(request, exc)
File "/Users/antwan/Projects/myproject/venv/lib/python2.7/site-packages/django/core/handlers/exception.py", line 93, in response_for_exception
response = handle_uncaught_exception(request, get_resolver(get_urlconf()), sys.exc_info())
File "/Users/antwan/Projects/myproject/venv/lib/python2.7/site-packages/django/core/handlers/exception.py", line 139, in handle_uncaught_exception
return debug.technical_500_response(request, *exc_info)
File "/Users/antwan/Projects/myproject/venv/lib/python2.7/site-packages/django_extensions/management/technical_response.py", line 6, in null_technical_500_response
six.reraise(exc_type, exc_value, tb)
File "/Users/antwan/Projects/myproject/venv/lib/python2.7/site-packages/django/core/handlers/exception.py", line 41, in inner
response = get_response(request)
File "/Users/antwan/Projects/myproject/venv/lib/python2.7/site-packages/django/utils/deprecation.py", line 140, in __call__
response = self.get_response(request)
File "/Users/antwan/Projects/myproject/venv/lib/python2.7/site-packages/django/core/handlers/exception.py", line 43, in inner
response = response_for_exception(request, exc)
File "/Users/antwan/Projects/myproject/venv/lib/python2.7/site-packages/django/core/handlers/exception.py", line 93, in response_for_exception
response = handle_uncaught_exception(request, get_resolver(get_urlconf()), sys.exc_info())
File "/Users/antwan/Projects/myproject/venv/lib/python2.7/site-packages/django/core/handlers/exception.py", line 139, in handle_uncaught_exception
return debug.technical_500_response(request, *exc_info)
File "/Users/antwan/Projects/myproject/venv/lib/python2.7/site-packages/django_extensions/management/technical_response.py", line 6, in null_technical_500_response
six.reraise(exc_type, exc_value, tb)
File "/Users/antwan/Projects/myproject/venv/lib/python2.7/site-packages/django/core/handlers/exception.py", line 41, in inner
response = get_response(request)
File "/Users/antwan/Projects/myproject/venv/lib/python2.7/site-packages/django/utils/deprecation.py", line 140, in __call__
response = self.get_response(request)
File "/Users/antwan/Projects/myproject/venv/lib/python2.7/site-packages/django/core/handlers/exception.py", line 43, in inner
response = response_for_exception(request, exc)
File "/Users/antwan/Projects/myproject/venv/lib/python2.7/site-packages/django/core/handlers/exception.py", line 93, in response_for_exception
response = handle_uncaught_exception(request, get_resolver(get_urlconf()), sys.exc_info())
File "/Users/antwan/Projects/myproject/venv/lib/python2.7/site-packages/django/core/handlers/exception.py", line 139, in handle_uncaught_exception
return debug.technical_500_response(request, *exc_info)
File "/Users/antwan/Projects/myproject/venv/lib/python2.7/site-packages/django_extensions/management/technical_response.py", line 6, in null_technical_500_response
six.reraise(exc_type, exc_value, tb)
File "/Users/antwan/Projects/myproject/venv/lib/python2.7/site-packages/django/core/handlers/exception.py", line 41, in inner
response = get_response(request)
File "/Users/antwan/Projects/myproject/venv/lib/python2.7/site-packages/django/utils/deprecation.py", line 140, in __call__
response = self.get_response(request)
File "/Users/antwan/Projects/myproject/venv/lib/python2.7/site-packages/django/core/handlers/exception.py", line 43, in inner
response = response_for_exception(request, exc)
File "/Users/antwan/Projects/myproject/venv/lib/python2.7/site-packages/django/core/handlers/exception.py", line 93, in response_for_exception
response = handle_uncaught_exception(request, get_resolver(get_urlconf()), sys.exc_info())
File "/Users/antwan/Projects/myproject/venv/lib/python2.7/site-packages/django/core/handlers/exception.py", line 139, in handle_uncaught_exception
return debug.technical_500_response(request, *exc_info)
File "/Users/antwan/Projects/myproject/venv/lib/python2.7/site-packages/django_extensions/management/technical_response.py", line 6, in null_technical_500_response
six.reraise(exc_type, exc_value, tb)
File "/Users/antwan/Projects/myproject/venv/lib/python2.7/site-packages/django/core/handlers/exception.py", line 41, in inner
response = get_response(request)
File "/Users/antwan/Projects/myproject/venv/lib/python2.7/site-packages/django/utils/deprecation.py", line 140, in __call__
response = self.get_response(request)
File "/Users/antwan/Projects/myproject/venv/lib/python2.7/site-packages/django/core/handlers/exception.py", line 43, in inner
response = response_for_exception(request, exc)
File "/Users/antwan/Projects/myproject/venv/lib/python2.7/site-packages/django/core/handlers/exception.py", line 93, in response_for_exception
response = handle_uncaught_exception(request, get_resolver(get_urlconf()), sys.exc_info())
File "/Users/antwan/Projects/myproject/venv/lib/python2.7/site-packages/django/core/handlers/exception.py", line 139, in handle_uncaught_exception
return debug.technical_500_response(request, *exc_info)
File "/Users/antwan/Projects/myproject/venv/lib/python2.7/site-packages/django_extensions/management/technical_response.py", line 6, in null_technical_500_response
six.reraise(exc_type, exc_value, tb)
File "/Users/antwan/Projects/myproject/venv/lib/python2.7/site-packages/django/core/handlers/exception.py", line 41, in inner
response = get_response(request)
File "/Users/antwan/Projects/myproject/apps/core/middleware.py", line 14, in __call__
return self.get_response(request)
File "/Users/antwan/Projects/myproject/venv/lib/python2.7/site-packages/django/core/handlers/exception.py", line 43, in inner
response = response_for_exception(request, exc)
File "/Users/antwan/Projects/myproject/venv/lib/python2.7/site-packages/django/core/handlers/exception.py", line 93, in response_for_exception
response = handle_uncaught_exception(request, get_resolver(get_urlconf()), sys.exc_info())
File "/Users/antwan/Projects/myproject/venv/lib/python2.7/site-packages/django/core/handlers/exception.py", line 139, in handle_uncaught_exception
return debug.technical_500_response(request, *exc_info)
File "/Users/antwan/Projects/myproject/venv/lib/python2.7/site-packages/django_extensions/management/technical_response.py", line 6, in null_technical_500_response
six.reraise(exc_type, exc_value, tb)
File "/Users/antwan/Projects/myproject/venv/lib/python2.7/site-packages/django/core/handlers/exception.py", line 41, in inner
response = get_response(request)
File "/Users/antwan/Projects/myproject/venv/lib/python2.7/site-packages/django/utils/deprecation.py", line 140, in __call__
response = self.get_response(request)
File "/Users/antwan/Projects/myproject/venv/lib/python2.7/site-packages/django/core/handlers/exception.py", line 43, in inner
response = response_for_exception(request, exc)
File "/Users/antwan/Projects/myproject/venv/lib/python2.7/site-packages/django/core/handlers/exception.py", line 93, in response_for_exception
response = handle_uncaught_exception(request, get_resolver(get_urlconf()), sys.exc_info())
File "/Users/antwan/Projects/myproject/venv/lib/python2.7/site-packages/django/core/handlers/exception.py", line 139, in handle_uncaught_exception
return debug.technical_500_response(request, *exc_info)
File "/Users/antwan/Projects/myproject/venv/lib/python2.7/site-packages/django_extensions/management/technical_response.py", line 6, in null_technical_500_response
six.reraise(exc_type, exc_value, tb)
File "/Users/antwan/Projects/myproject/venv/lib/python2.7/site-packages/django/core/handlers/exception.py", line 41, in inner
response = get_response(request)
File "/Users/antwan/Projects/myproject/venv/lib/python2.7/site-packages/django/core/handlers/base.py", line 187, in _get_response
response = self.process_exception_by_middleware(e, request)
File "/Users/antwan/Projects/myproject/venv/lib/python2.7/site-packages/django/core/handlers/base.py", line 185, in _get_response
response = wrapped_callback(request, *callback_args, **callback_kwargs)
File "/Users/antwan/Projects/myproject/apps/core/views.py", line 506, in crash_view
raise Exception('A test exception occured!')
```