Uh oh!
There was an error while loading.Please reload this page.
- Notifications
You must be signed in to change notification settings - Fork32k
[3.13] gh-116510: Fix a Crash Due to Shared Immortal Interned Strings (gh-124865)#125204
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to ourterms of service andprivacy statement. We’ll occasionally send you account related emails.
Already on GitHub?Sign in to your account
Uh oh!
There was an error while loading.Please reload this page.
Conversation
…ythongh-124865)Fix a crash caused by immortal interned strings being shared betweensub-interpreters that use basic single-phase init. In that case, the stringcan be used by an interpreter that outlives the interpreter that created andinterned it. For interpreters that share obmalloc state, also share theinterned dict with the main interpreter.This is an un-revert ofpythongh-124646 that then addresses the Py_TRACE_REFSfailures identified bypythongh-124785.(cherry picked from commitf2cb399)Co-authored-by: Eric Snow <ericsnowcurrently@gmail.com>
Please don't merge until the TraceRefs regression is fixed:#124865 (comment) |
I think this can be merged now withGH-125709 applied on top or squashed into it. |
…ers (pythongh-125709)They used to be shared, before 3.12. Returning to sharing them resolves a failure on Py_TRACE_REFS builds.
Uh oh!
There was an error while loading.Please reload this page.
02cd3ce
intopython:3.13Uh oh!
There was an error while loading.Please reload this page.
Thanks@miss-islington for the PR, and@encukou for merging it 🌮🎉.. I'm working now to backport this PR to: 3.12. |
Sorry,@miss-islington and@encukou, I could not cleanly backport this to
|
Uh oh!
There was an error while loading.Please reload this page.
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 ofgh-124646 that then addresses the Py_TRACE_REFS
failures identified bygh-124785.
(cherry picked from commitf2cb399)
Co-authored-by: Eric Snowericsnowcurrently@gmail.com