This issue tracker has been migrated to GitHub, and is currently read-only.
For more information, see the GitHub FAQs in the Python's Developer Guide.

Author Mark.Shannon
Recipients Mark.Shannon, corona10, craigh, diabonas, eric.snow, erlendaasland, hroncok, methane, ndjensen, pablogsal, serhiy.storchaka, vstinner
Date 2021-12-15.15:44:03
SpamBayes Score -1.0
Marked as misclassified Yes
Message-id <1639583043.17.0.105027446884.issue46006@roundup.psfhosted.org>
In-reply-to
Content
The problem here is that different sub-interpreters have different strings for the same Python string.

Unless sub-interpreters are fully independent, and they cannot be due to limitations imposed by the stable API, then all sub-interpreters must share the same poll of strings.

Since the only object reachable from a string is the `str` object (which is a static global object `PyUnicode_Type`), then the invariant that no object that is unique to one sub-interpreter can be reached from another sub-interpreter remains valid if strings are shared. I.e. there is no reason not to share strings.

As Victor points out, there is no bug in 3.9 because interned strings are common across all interpreter. We should revert that behavior.
History
Date User Action Args
2021-12-15 15:44:03Mark.Shannonsetrecipients: + Mark.Shannon, vstinner, craigh, methane, eric.snow, serhiy.storchaka, ndjensen, hroncok, corona10, pablogsal, erlendaasland, diabonas
2021-12-15 15:44:03Mark.Shannonsetmessageid: <1639583043.17.0.105027446884.issue46006@roundup.psfhosted.org>
2021-12-15 15:44:03Mark.Shannonlinkissue46006 messages
2021-12-15 15:44:03Mark.Shannoncreate