summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDavid Lord <davidism@gmail.com>2020-02-28 19:08:10 -0800
committerGitHub <noreply@github.com>2020-02-28 19:08:10 -0800
commite1b5e50ca33f4b10d033c96de007d18b510ecab9 (patch)
tree331cf354714f24f17cd2a54ff9e8a5a93ec73741
parenteccf9a00a0dd809418dd4814515d78ac1759e2fe (diff)
parent40e70b820c8279396ae7cb075042456a7d1ac313 (diff)
downloadjinja2-e1b5e50ca33f4b10d033c96de007d18b510ecab9.tar.gz
Merge pull request #1163 from pallets/traceback-32-bit
better PyObject_HEAD size calculation
-rw-r--r--CHANGES.rst2
-rw-r--r--src/jinja2/debug.py5
2 files changed, 3 insertions, 4 deletions
diff --git a/CHANGES.rst b/CHANGES.rst
index 9635fc5..aee6ad3 100644
--- a/CHANGES.rst
+++ b/CHANGES.rst
@@ -10,6 +10,8 @@ Unreleased
:func:`contextfunction`. :issue:`1145`
- Update ``wordcount`` filter to trigger :class:`Undefined` methods
by wrapping the input in :func:`soft_unicode`. :pr:`1160`
+- Fix a hang when displaying tracebacks on Python 32-bit.
+ :issue:`1162`
Version 2.11.1
diff --git a/src/jinja2/debug.py b/src/jinja2/debug.py
index d2c5a06..5d8aec3 100644
--- a/src/jinja2/debug.py
+++ b/src/jinja2/debug.py
@@ -245,10 +245,7 @@ else:
class _CTraceback(ctypes.Structure):
_fields_ = [
# Extra PyObject slots when compiled with Py_TRACE_REFS.
- (
- "PyObject_HEAD",
- ctypes.c_byte * (32 if hasattr(sys, "getobjects") else 16),
- ),
+ ("PyObject_HEAD", ctypes.c_byte * object().__sizeof__()),
# Only care about tb_next as an object, not a traceback.
("tb_next", ctypes.py_object),
]