0
0
mirror of https://github.com/python/cpython.git synced 2024-11-28 16:45:42 +01:00
cpython/Misc/NEWS.d
Sam Gross 4b63cd170e
gh-122527: Fix a crash on deallocation of PyStructSequence (GH-122577)
The `PyStructSequence` destructor would crash if it was deallocated after
its type's dictionary was cleared by the GC, because it couldn't compute
the "real size" of the instance. This could occur with relatively
straightforward code in the free-threaded build or with a reference
cycle involving the type in the default build, due to differing orders
in which `tp_clear()` was called.

Account for the non-sequence fields in `tp_basicsize` and use that,
along with `Py_SIZE()`, to compute the "real" size of a
`PyStructSequence` in the dealloc function. This avoids the accesses to
the type's dictionary during dealloc, which were unsafe.
2024-08-02 18:11:44 +02:00
..
next gh-122527: Fix a crash on deallocation of PyStructSequence (GH-122577) 2024-08-02 18:11:44 +02:00
3.5.0.rst
3.5.0a1.rst gh-121905: Consistently use "floating-point" instead of "floating point" (GH-121907) 2024-07-19 08:06:02 +00:00
3.5.0a2.rst
3.5.0a3.rst
3.5.0a4.rst
3.5.0b1.rst
3.5.0b2.rst
3.5.0b3.rst
3.5.0b4.rst
3.5.0rc1.rst
3.5.0rc2.rst
3.5.0rc3.rst
3.5.0rc4.rst
3.5.1.rst
3.5.1rc1.rst
3.5.2.rst
3.5.2rc1.rst
3.5.3.rst
3.5.3rc1.rst
3.5.4.rst
3.5.4rc1.rst
3.5.5.rst
3.5.5rc1.rst
3.6.0.rst
3.6.0a1.rst
3.6.0a2.rst
3.6.0a3.rst
3.6.0a4.rst
3.6.0b1.rst
3.6.0b2.rst
3.6.0b3.rst
3.6.0b4.rst
3.6.0rc1.rst
3.6.0rc2.rst
3.6.1.rst
3.6.1rc1.rst
3.6.2.rst
3.6.2rc1.rst
3.6.2rc2.rst
3.6.3.rst
3.6.3rc1.rst
3.6.4.rst
3.6.4rc1.rst
3.6.5.rst
3.6.5rc1.rst
3.6.6.rst
3.6.6rc1.rst
3.7.0.rst
3.7.0a1.rst
3.7.0a2.rst
3.7.0a3.rst
3.7.0a4.rst
3.7.0b1.rst
3.7.0b2.rst
3.7.0b3.rst
3.7.0b4.rst
3.7.0b5.rst
3.7.0rc1.rst
3.8.0a1.rst gh-121905: Consistently use "floating-point" instead of "floating point" (GH-121907) 2024-07-19 08:06:02 +00:00
3.8.0a2.rst gh-121905: Consistently use "floating-point" instead of "floating point" (GH-121907) 2024-07-19 08:06:02 +00:00
3.8.0a3.rst
3.8.0a4.rst
3.8.0b1.rst
3.9.0a1.rst gh-121905: Consistently use "floating-point" instead of "floating point" (GH-121907) 2024-07-19 08:06:02 +00:00
3.9.0a2.rst
3.9.0a3.rst
3.9.0a4.rst
3.9.0a5.rst
3.9.0a6.rst
3.9.0b1.rst
3.10.0a1.rst
3.10.0a2.rst
3.10.0a3.rst
3.10.0a4.rst
3.10.0a5.rst
3.10.0a6.rst
3.10.0a7.rst
3.10.0b1.rst
3.11.0a1.rst gh-121905: Consistently use "floating-point" instead of "floating point" (GH-121907) 2024-07-19 08:06:02 +00:00
3.11.0a2.rst
3.11.0a3.rst
3.11.0a4.rst
3.11.0a5.rst
3.11.0a6.rst gh-121905: Consistently use "floating-point" instead of "floating point" (GH-121907) 2024-07-19 08:06:02 +00:00
3.11.0a7.rst gh-121905: Consistently use "floating-point" instead of "floating point" (GH-121907) 2024-07-19 08:06:02 +00:00
3.11.0b1.rst
3.12.0a1.rst
3.12.0a2.rst
3.12.0a3.rst
3.12.0a4.rst
3.12.0a5.rst
3.12.0a6.rst
3.12.0a7.rst
3.12.0b1.rst
3.13.0a1.rst
3.13.0a2.rst
3.13.0a3.rst
3.13.0a4.rst
3.13.0a5.rst
3.13.0a6.rst
3.13.0b1.rst gh-121905: Consistently use "floating-point" instead of "floating point" (GH-121907) 2024-07-19 08:06:02 +00:00