]> git.ipfire.org Git - thirdparty/Python/cpython.git/commit
gh-116510: Fix a Crash Due to Shared Immortal Interned Strings (gh-124865)
authorEric Snow <ericsnowcurrently@gmail.com>
Wed, 9 Oct 2024 17:32:16 +0000 (11:32 -0600)
committerGitHub <noreply@github.com>
Wed, 9 Oct 2024 17:32:16 +0000 (11:32 -0600)
commitf2cb39947093feda3ff85b8dc820922cc5e5f954
tree671a66db1972ed61498f36239794bbb857bbfe92
parentd501153aed6cd9c03b77836821ed8d47f0655a0b
gh-116510: Fix a Crash Due to Shared Immortal Interned Strings (gh-124865)

Fix a crash caused by immortal interned strings being shared between
sub-interpreters that use basic single-phase init. In that case, the string
can be used by an interpreter that outlives the interpreter that created and
interned it. For interpreters that share obmalloc state, also share the
interned dict with the main interpreter.

This is an un-revert of gh-124646 that then addresses the Py_TRACE_REFS
failures identified by gh-124785.
Misc/NEWS.d/next/Core_and_Builtins/2024-09-26-18-21-06.gh-issue-116510.FacUWO.rst [new file with mode: 0644]
Objects/object.c
Objects/unicodeobject.c