#27820 closed Bug (fixed)
RequestDataTooBig/TooManyFields fail to render the debug page
Reported by: | Amalia Souček | Owned by: | Amalia Souček |
---|---|---|---|
Component: | HTTP handling | Version: | 1.10 |
Severity: | Normal | Keywords: | DATA_UPLOAD_MAX_MEMORY_SIZE, RequestDataTooBig, response_for_exception, 500 |
Cc: | Triage Stage: | Accepted | |
Has patch: | yes | Needs documentation: | no |
Needs tests: | no | Patch needs improvement: | no |
Easy pickings: | no | UI/UX: | no |
Description
When a RequestDataTooBig is raised response_for_exception tries to access request data again triggering a new RequestDataTooBig.
This results in an error 500.
Request body exceeded settings.DATA_UPLOAD_MAX_MEMORY_SIZE. Traceback (most recent call last): File "../python2.7/wsgiref/handlers.py", line 85, in run self.result = application(self.environ, self.start_response) File "../python2.7/site-packages/django/contrib/staticfiles/handlers.py", line 63, in __call__ return self.application(environ, start_response) File "../python2.7/site-packages/dj_static.py", line 83, in __call__ return self.application(environ, start_response) File "../python2.7/site-packages/dj_static.py", line 83, in __call__ return self.application(environ, start_response) File "../python2.7/site-packages/django/core/handlers/wsgi.py", line 175, in __call__ response = self.get_response(request) File "../python2.7/site-packages/django/core/handlers/base.py", line 124, in get_response response = self._middleware_chain(request) File "../python2.7/site-packages/django/core/handlers/exception.py", line 41, in inner response = response_for_exception(request, exc) File "../python2.7/site-packages/django/core/handlers/exception.py", line 77, in response_for_exception response = debug.technical_500_response(request, *sys.exc_info(), status_code=400) File "../python2.7/site-packages/django/views/debug.py", line 81, in technical_500_response text = reporter.get_traceback_text() File "../python2.7/site-packages/django/views/debug.py", line 323, in get_traceback_text return t.render(c) File "../python2.7/site-packages/django/template/base.py", line 208, in render return self._render(context) File "../python2.7/site-packages/django/template/base.py", line 199, in _render return self.nodelist.render(context) File "../python2.7/site-packages/django/template/base.py", line 994, in render bit = node.render_annotated(context) File "../python2.7/site-packages/django/template/base.py", line 961, in render_annotated return self.render(context) File "../python2.7/site-packages/django/template/defaulttags.py", line 315, in render return nodelist.render(context) File "../python2.7/site-packages/django/template/base.py", line 994, in render bit = node.render_annotated(context) File "../python2.7/site-packages/django/template/base.py", line 961, in render_annotated return self.render(context) File "../python2.7/site-packages/django/template/defaulttags.py", line 159, in render values = self.sequence.resolve(context, True) File "../python2.7/site-packages/django/template/base.py", line 711, in resolve obj = self.var.resolve(context) File "../python2.7/site-packages/django/template/base.py", line 852, in resolve value = self._resolve_lookup(context) File "../python2.7/site-packages/django/template/base.py", line 893, in _resolve_lookup current = getattr(current, bit) File "../python2.7/site-packages/django/core/handlers/wsgi.py", line 146, in _get_files self._load_post_and_files() File "../python2.7/site-packages/django/http/request.py", line 311, in _load_post_and_files self._post, self._files = QueryDict(self.body, encoding=self._encoding), MultiValueDict() File "../python2.7/site-packages/django/http/request.py", line 269, in body raise RequestDataTooBig('Request body exceeded settings.DATA_UPLOAD_MAX_MEMORY_SIZE.') RequestDataTooBig: Request body exceeded settings.DATA_UPLOAD_MAX_MEMORY_SIZE.
Change History (7)
comment:1 by , 8 years ago
comment:2 by , 8 years ago
Owner: | changed from | to
---|---|
Status: | new → assigned |
comment:3 by , 8 years ago
Component: | Core (Other) → HTTP handling |
---|---|
Has patch: | set |
Patch needs improvement: | set |
Summary: | response_for_exception triggers 500 when exc is RequestDataTooBig → RequestDataTooBig/TooManyFields fail to render the debug page |
Triage Stage: | Unreviewed → Accepted |
I'm not certain if the fix is in the best spot. It looks like the issue also affects TooManyFields
.
comment:4 by , 8 years ago
Patch needs improvement: | unset |
---|
New pull request. Please see https://github.com/django/django/pull/8042.
Note:
See TracTickets
for help on using tickets.
Please see https://github.com/django/django/pull/8033.