cpython/Python
Miss Islington (bot) 02cd3ce0f2
[3.13] gh-116510: Fix a Crash Due to Shared Immortal Interned Strings (gh-124865) (gh-125709) (GH-125204)
* 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.
(cherry picked from commit f2cb399470)

Co-authored-by: Eric Snow <ericsnowcurrently@gmail.com>

* [3.13] gh-125286: Share the Main Refchain With Legacy Interpreters (gh-125709)

They used to be shared, before 3.12.  Returning to sharing them resolves a failure on Py_TRACE_REFS builds.

---------

Co-authored-by: Eric Snow <ericsnowcurrently@gmail.com>
2024-11-12 13:45:12 +01:00
..
clinic [3.13] gh-113993: Allow interned strings to be mortal, and fix related issues (GH-120520) (GH-120945) 2024-06-24 20:24:19 +02:00
frozen_modules
_warnings.c [3.13] gh-119049: Fix incorrect display of warning which is constructed by C API (GH-119063) (GH-119106) 2024-05-17 18:16:58 +03:00
adaptive.md
asdl.c
asm_trampoline.S [3.13] gh-120400 :Support Linux perf profile to see Python calls on RISC-V architecture (GH-120089) (#120413) 2024-06-14 17:03:24 +02:00
assemble.c
ast.c
ast_opt.c [3.13] gh-123344: Add missing ast optimizations for PEP 696 (GH-123377) (#123427) 2024-08-28 14:02:34 +00:00
ast_unparse.c [3.13] gh-125268: Use static string for "1e309" in AST (GH-125272) (GH-125280) 2024-10-24 13:59:23 -04:00
bltinmodule.c [3.13] gh-121153: Fix some errors with use of _PyLong_CompactValue() (GH-121154) (GH-121900) 2024-07-17 08:04:45 +00:00
bootstrap_hash.c
brc.c
bytecodes.c [3.13] GH-123545: Remove duplicate Py_DECREF when handling _PyOptimizer_Optimize errors (GH-123759) 2024-09-06 09:02:32 -07:00
ceval.c [3.13] gh-125703: Correctly honour tracemalloc hooks on more PyDECREF specialized paths (GH-125712) (#125791) 2024-10-28 11:50:36 +00:00
ceval_gil.c [3.13] gh-122201: Lock mutex when setting handling_thread to NULL (GH-122204) (#122319) 2024-07-26 17:30:08 +00:00
ceval_macros.h [3.13] gh-117657: Avoid race in PAUSE_ADAPTIVE_COUNTER in free-threaded build (GH-122190) (#122475) 2024-07-30 18:18:25 +00:00
codecs.c [3.13] gh-113993: Allow interned strings to be mortal, and fix related issues (GH-120520) (GH-120945) 2024-06-24 20:24:19 +02:00
compile.c [3.13] Fix possible null pointer dereference of freevars in _PyCompile_LookupArg (gh-126238) (#126475) 2024-11-06 08:10:04 +00:00
condvar.h
config_common.h
context.c [3.13] gh-121546: Disable contextvar caching on free-threading build (GH-121740) (#121808) 2024-07-15 16:53:52 -04:00
critical_section.c [3.13] gh-119344: Make critical section API public (GH-119353) (#120856) 2024-06-21 20:20:41 +00:00
crossinterp.c [3.13] Fix typos in docs, error messages and comments (#122502) (#122606) 2024-09-02 12:44:42 +02:00
crossinterp_data_lookup.h
crossinterp_exceptions.h [3.13] gh-117398: Use Per-Interpreter State for the _datetime Static Types (gh-120009) 2024-06-03 23:37:28 +00:00
dtoa.c
dup2.c
dynamic_annotations.c
dynload_hpux.c
dynload_shlib.c
dynload_stub.c
dynload_win.c
emscripten_signal.c
emscripten_trampoline.c [3.13] gh-121698 Emscripten: Use updated WebAssembly type reflection proposal (GH-121699) (GH-121745) 2024-07-14 12:01:03 +02:00
errors.c [3.13] gh-124188: Fix PyErr_ProgramTextObject() (GH-124189) (GH-124423) 2024-10-08 00:23:49 +03:00
executor_cases.c.h [3.13] GH-123545: Remove duplicate Py_DECREF when handling _PyOptimizer_Optimize errors (GH-123759) 2024-09-06 09:02:32 -07:00
fileutils.c [3.13] gh-117657: Fix TSan reported data race on ioctl_works (GH-120175) (#120654) 2024-06-17 17:52:49 +00:00
flowgraph.c [3.13] gh-124871: fix 'visited' tracking in compiler's reachability analysis (GH-124952) (#124977) 2024-10-04 15:34:20 -07:00
formatter_unicode.c
frame.c
frozen.c
frozenmain.c
future.c [3.13] gh-126139: Improve error message location for future statement with unknown feature (GH-126140) (#126155) 2024-10-30 00:36:06 +00:00
gc.c [3.13] GH-124567: Revert the Incremental GC in 3.13 (#124770) 2024-09-30 21:27:29 +00:00
gc_free_threading.c [3.13] gh-125859: Fix crash when gc.get_objects is called during GC (GH-125882) (GH-125921) 2024-10-24 14:08:15 +00:00
gc_gil.c
generated_cases.c.h [3.13] gh-123091: Use _Py_IsImmortalLoose() (#123511) (#123600) 2024-09-02 15:23:29 +02:00
getargs.c [3.13] gh-118814: Fix the TypeVar constructor when name is passed by keyword (GH-122664) (GH-122806) 2024-08-08 09:49:21 +03:00
getcompiler.c
getcopyright.c
getopt.c
getplatform.c
getversion.c [3.13] gh-119132: Update sys.version to identify free-threaded or not. (gh-119134) (#119153) 2024-05-18 16:49:11 -04:00
hamt.c
hashtable.c
import.c [3.13] gh-126171: fix possible null dereference in _imp_find_frozen_impl (GH-126566) (#126567) 2024-11-08 16:25:38 +05:30
importdl.c gh-117953: Imply Single-phase Init if the Init Function Fails (gh-118684) 2024-05-06 21:16:22 -06:00
initconfig.c [3.13] gh-123275: Support -Xgil=1 and PYTHON_GIL=1 on non-free-threaded builds (gh-123276) (gh-123753) 2024-09-06 10:09:35 +09:00
instruction_sequence.c
instrumentation.c [3.13] gh-122247: Move instruction instrumentation sanity check after tracing check (GH-122251) (GH-122812) 2024-08-16 12:01:40 +02:00
interpconfig.c
intrinsics.c gh-74929: Implement PEP 667 (GH-115153) 2024-05-04 12:12:10 +01:00
jit.c [3.13] GH-118844: Fix build failures when combining --disable-gil with --enable-experimental-jit (GH-118959) 2024-05-13 04:53:30 +00:00
legacy_tracing.c [3.13] gh-122029: Log call events in sys.setprofile when it's a method with c function (GH-122072) (GH-122205) 2024-07-23 22:49:36 +00:00
lock.c [3.13] gh-121368: Fix seq lock memory ordering in _PyType_Lookup (GH-121388) (#121505) 2024-07-08 19:15:58 +00:00
marshal.c [3.13] gh-121905: Consistently use "floating-point" instead of "floating point" (GH-121907) (GH-122012) 2024-07-19 09:13:08 +00:00
modsupport.c
mysnprintf.c
mystrtoul.c
object_stack.c
opcode_targets.h GH-118095: Use broader specializations of CALL in tier 1, for better tier 2 support of calls. (GH-118322) 2024-05-04 12:11:11 +01:00
optimizer.c [3.13] gh-120642: Move private PyCode APIs to the internal C API (#120643) (#121043) 2024-06-26 15:35:19 +02:00
optimizer_analysis.c [3.13] gh-120642: Move private PyCode APIs to the internal C API (#120643) (#121043) 2024-06-26 15:35:19 +02:00
optimizer_bytecodes.c [3.13] gh-119258: Backport optimizer frame fixes in GH-119365 (GH-120699) 2024-06-20 23:55:20 +08:00
optimizer_cases.c.h [3.13] gh-119258: Backport optimizer frame fixes in GH-119365 (GH-120699) 2024-06-20 23:55:20 +08:00
optimizer_symbols.c [3.13] gh-120642: Move private PyCode APIs to the internal C API (#120643) (#121043) 2024-06-26 15:35:19 +02:00
parking_lot.c [3.13] gh-112804: Clamping timeout value for _PySemaphore_PlatformWait (gh-124914) (gh-124991) 2024-10-07 16:53:32 +00:00
pathconfig.c
perf_jit_trampoline.c [3.13] GH-118844: Fix build failures when combining --disable-gil with --enable-experimental-jit (GH-118959) 2024-05-13 04:53:30 +00:00
perf_trampoline.c gh-118518: Allow perf to work without frame pointers (#112254) 2024-05-05 03:07:29 +02:00
preconfig.c
pyarena.c
pyctype.c
pyfpe.c
pyhash.c [3.13] gh-111389: Add PyHASH_MULTIPLIER constant (GH-119214) (#119334) 2024-06-04 09:26:25 +02:00
pylifecycle.c [3.13] gh-116510: Fix a Crash Due to Shared Immortal Interned Strings (gh-124865) (gh-125709) (GH-125204) 2024-11-12 13:45:12 +01:00
pymath.c
pystate.c [3.13] gh-116510: Fix a Crash Due to Shared Immortal Interned Strings (gh-124865) (gh-125709) (GH-125204) 2024-11-12 13:45:12 +01:00
pystrcmp.c
pystrhex.c
pystrtod.c
Python-ast.c [3.13] gh-126105: Fix crash in ast module, when ._fields is deleted (GH-126115) (#126130) 2024-10-29 16:07:32 +00:00
Python-tokenize.c [3.13] gh-120317: Lock around global state in the tokenize module (GH-120318) (#121841) 2024-07-16 10:03:47 +00:00
pythonrun.c [3.13] gh-125842: Fix sys.exit(0xffff_ffff) on Windows (GH-125896) (GH-125925) 2024-10-24 16:27:30 +00:00
pytime.c gh-110850: Remove _PyTime_TimeUnchecked() function (#118552) 2024-05-05 12:15:19 +02:00
qsbr.c [3.13] Fix typos in comments (GH-120481) (#120774) 2024-06-20 03:40:54 +00:00
README
specialize.c [3.13] GH-121583: Remove dependency from pystats.h to internal header file (GH-121880) 2024-07-16 23:03:07 +00:00
stdlib_module_names.h [3.13] gh-123892: Add "_wmi" to sys.stdlib_module_names (GH-123893) (#123896) 2024-09-29 18:24:55 -07:00
structmember.c [3.13] gh-117657: Fix __slots__ thread safety in free-threaded build (GH-119368) (#120655) 2024-06-17 19:12:25 +00:00
suggestions.c
symtable.c [3.13] gh-119933: Improve `SyntaxError` message for invalid type parameters expressions (GH-119976) (#120641) 2024-06-17 08:01:49 -07:00
sysmodule.c [3.13] gh-126018: Avoid aborting due to unnecessary assert in sys.audit (GH-126020) (#126042) 2024-10-27 15:07:33 +00:00
thread.c
thread_nt.h gh-110850: Use _PyDeadline_Get() in EnterNonRecursiveMutex() (#118556) 2024-05-04 09:39:58 +02:00
thread_pthread.h gh-110850: Remove _PyTime_TimeUnchecked() function (#118552) 2024-05-05 12:15:19 +02:00
thread_pthread_stubs.h
tier2_engine.md
traceback.c
tracemalloc.c [3.13] gh-121390: tracemalloc: Fix tracebacks memory leak (GH-121391) (#121392) 2024-07-21 13:12:13 +00:00
vm-state.md

Miscellaneous source files for the main Python shared library