summaryrefslogtreecommitdiffstats
path: root/Python
Commit message (Collapse)AuthorAgeFilesLines
* [3.13] gh-122907: Fix Builds Without HAVE_DYNAMIC_LOADING Set (gh-122952) ↵Miss Islington (bot)2024-12-031-4/+8
| | | | | | | | | | | (#122984) gh-122907: Fix Builds Without HAVE_DYNAMIC_LOADING Set (gh-122952) As of 529a160 (gh-118204), building with HAVE_DYNAMIC_LOADING stopped working. This is a minimal fix just to get builds working again. There are actually a number of long-standing deficiencies with HAVE_DYNAMIC_LOADING builds that need to be resolved separately. (cherry picked from commit ee1b8ce26e700350e47a5f65201097121c41912e) Co-authored-by: Eric Snow <ericsnowcurrently@gmail.com>
* [3.13] gh-126914: Store the Preallocated Thread State's Pointer in a ↵Eric Snow2024-12-021-46/+46
| | | | | | | PyInterpreterState Field (gh-127114) This approach eliminates the originally reported race. It also gets rid of the deadlock reported in gh-96071, so we can remove the workaround added then. This is mostly a cherry-pick of 1c0a104 (AKA gh-126989). The difference is we add PyInterpreterState.threads_preallocated at the end of PyInterpreterState, instead of adding PyInterpreterState.threads.preallocated. That avoids ABI disruption.
* [3.13] gh-127165: Disallow embedded NULL characters in `_interpreters` ↵Miss Islington (bot)2024-12-011-0/+5
| | | | | | | | (GH-127199) (#127463) gh-127165: Disallow embedded NULL characters in `_interpreters` (GH-127199) (cherry picked from commit 46bfd26fb294a8769ef6d0c056ee6c9df022a037) Co-authored-by: Peter Bierma <zintensitydev@gmail.com>
* [3.13] gh-123967: Fix faulthandler for trampoline frames (GH-127329) (#127362)Miss Islington (bot)2024-11-301-9/+14
| | | | | | | | gh-123967: Fix faulthandler for trampoline frames (GH-127329) If the top-most frame is a trampoline frame, skip it. (cherry picked from commit 58e334e1431b2ed6b70ee42501ea73e08084e769) Co-authored-by: Victor Stinner <vstinner@python.org>
* [3.13] gh-127208: Reject null character in _imp.create_dynamic() (GH-127400) ↵Miss Islington (bot)2024-11-291-3/+5
| | | | | | | | | | | (#127418) gh-127208: Reject null character in _imp.create_dynamic() (GH-127400) _imp.create_dynamic() now rejects embedded null characters in the path and in the module name. (cherry picked from commit b14fdadc6c620875a20b7ccc3c9b069e85d8557a) Co-authored-by: Victor Stinner <vstinner@python.org>
* [3.13] gh-126881: fix finalization of dtoa state (GH-126904) (#127395)Miss Islington (bot)2024-11-291-1/+3
| | | | | | gh-126881: fix finalization of dtoa state (GH-126904) (cherry picked from commit 762c603a866146afc7db2591fb49605e0858e9b1) Co-authored-by: Kumar Aditya <kumaraditya@python.org>
* [3.13] gh-109746: Make _thread.start_new_thread delete state of new thread ↵Serhiy Storchaka2024-11-221-1/+3
| | | | | | | | | | | | on its startup failure (GH-109761) (GH-127171) If Python fails to start newly created thread due to failure of underlying PyThread_start_new_thread() call, its state should be removed from interpreter' thread states list to avoid its double cleanup. (cherry picked from commit ca3ea9ad05c3d876a58463595e5b4228fda06936) Co-authored-by: Radislav Chugunov <52372310+chgnrdv@users.noreply.github.com>
* [3.13] gh-126986: Stop Using _PyInterpreterState_FailIfNotRunning() (gh-127112)Eric Snow2024-11-212-3/+6
| | | This is a pseudo-backport of d6b3e78 (gh-126988). In that change for 3.14+, we dropped _PyInterpreterState_FailIfNotRunning() and added _PyErr_SetInterpreterAlreadyRunning(). Here, we replace usage of _PyInterpreterState_FailIfNotRunning() with the inlined equivalent of _PyErr_SetInterpreterAlreadyRunning(), without adding that function. That way we avoid changing the 3.13 ABI.
* gh-126780: Fix `ntpath.normpath()` for drive-relative paths (GH-126801)Miss Islington (bot)2024-11-211-25/+26
| | | | | (cherry picked from commit 60ec854bc297e04718fe13db3605d0465bf8badb) Co-authored-by: Nice Zombies <nineteendo19d0@gmail.com>
* [3.13] gh-126312: Don't traverse frozen objects on the free-threaded build ↵Peter Bierma2024-11-151-4/+13
| | | | | | | | | | | | | | | | | | (GH-126338) (#126866) * Fix merge conflicts. * [3.13] gh-126312: Don't traverse frozen objects on the free-threaded build (GH-126338) Also, _PyGC_Freeze() no longer freezes unreachable objects. (cherry picked from commit d4c72fed8cba8e15ab7bb6c30a92bc9f2c8f0a2c) Co-authored-by: Peter Bierma <zintensitydev@gmail.com> Co-authored-by: Sergey B Kirpichev <skirpichev@gmail.com> --------- Co-authored-by: Sergey B Kirpichev <skirpichev@gmail.com>
* [3.13] gh-126688: Reinit import lock after fork (GH-126692) (GH-126765)Miss Islington (bot)2024-11-121-0/+7
| | | | | | | | | The PyMutex implementation supports unlocking after fork because we clear the list of waiters in parking_lot.c. This doesn't work as well for _PyRecursiveMutex because on some systems, such as SerenityOS, the thread id is not preserved across fork(). (cherry picked from commit 5610860840aa71b186fc5639211dd268b817d65f) Co-authored-by: Sam Gross <colesbury@gmail.com>
* [3.13] gh-116510: Fix a Crash Due to Shared Immortal Interned Strings ↵Miss Islington (bot)2024-11-122-4/+16
| | | | | | | | | | | | | | | | | | | | | | | | | (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 f2cb39947093feda3ff85b8dc820922cc5e5f954) 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>
* [3.13] gh-126171: fix possible null dereference in _imp_find_frozen_impl ↵Miss Islington (bot)2024-11-081-1/+1
| | | | | | | | (GH-126566) (#126567) gh-126171: fix possible null dereference in _imp_find_frozen_impl (GH-126566) (cherry picked from commit 9ecd8f7f40e6724a1c1d46c2665147aaabceb2d2) Co-authored-by: Valery Fedorenko <federicovalenso@gmail.com>
* [3.13] Fix possible null pointer dereference of freevars in ↵Valery Fedorenko2024-11-061-1/+1
| | | | | | | | | | | | _PyCompile_LookupArg (gh-126238) (#126475) [3.13] gh-126238: Fix possible null pointer dereference of freevars in _PyCompile_LookupArg (GH-126239) * Replace Py_DECREF by Py_XDECREF (cherry picked from commit 8525c9375f25e6ec0c0b5dfcab464703f6e78082) Co-authored-by: blurb-it[bot] <43283697+blurb-it[bot]@users.noreply.github.com> Co-authored-by: Peter Bierma <zintensitydev@gmail.com>
* [3.13] gh-125832: Clarify comment for inlined comprehensions as per PEP-709 ↵Donghee Na2024-11-031-3/+6
| | | | | | | | | | | | | | | | | | | | | | | | | (gh-126322) (gh-126344) * gh-125832: Clarify comment for inlined comprehensions as per PEP-709 (#126322) * Fix comprehensions comment to inlined by pep 709 * Update spacing Co-authored-by: RUANG (James Roy) <longjinyii@outlook.com> * Add reference to PEP 709 --------- Co-authored-by: Carol Willing <carolcode@willingconsulting.com> Co-authored-by: RUANG (James Roy) <longjinyii@outlook.com> (cherry picked from commit 868bfcc02ed42a1042851830b79c6877b7f1c7a8) * Add space --------- Co-authored-by: rimchoi <hyerimc858@gmail.com>
* [3.13] gh-126139: Improve error message location for future statement with ↵Miss Islington (bot)2024-10-301-2/+10
| | | | | | | | unknown feature (GH-126140) (#126155) gh-126139: Improve error message location for future statement with unknown feature (GH-126140) (cherry picked from commit 224c370a3680132997f1e43d20a3b4ca95a060ab) Co-authored-by: Brian Schubert <brianm.schubert@gmail.com>
* [3.13] gh-126105: Fix crash in `ast` module, when `._fields` is deleted ↵Miss Islington (bot)2024-10-291-10/+8
| | | | | | | | | | (GH-126115) (#126130) gh-126105: Fix crash in `ast` module, when `._fields` is deleted (GH-126115) Previously, if the `ast.AST._fields` attribute was deleted, attempts to create a new `as`t node would crash due to the assumption that `_fields` always had a non-NULL value. Now it has been fixed by adding an extra check to ensure that `_fields` does not have a NULL value (this can happen when you manually remove `_fields` attribute). (cherry picked from commit b2eaa75b176e07730215d76d8dce4d63fb493391) Co-authored-by: sobolevn <mail@sobolevn.me>
* [3.13] gh-125703: Correctly honour tracemalloc hooks on more PyDECREF ↵Pablo Galindo Salgado2024-10-281-0/+5
| | | | | specialized paths (GH-125712) (#125791) (cherry picked from commit 3d1df3d84e5c75a52b6f1379cd7f2809fc50befa)
* [3.13] gh-126018: Avoid aborting due to unnecessary assert in `sys.audit` ↵Miss Islington (bot)2024-10-271-1/+0
| | | | | | | | | | | (GH-126020) (#126042) (cherry picked from commit 80eec52fc813bc7d20478da3114ec6ffd73e7c31) Co-authored-by: devdanzin <74280297+devdanzin@users.noreply.github.com> Co-authored-by: Bénédikt Tran <10796600+picnixz@users.noreply.github.com> Co-authored-by: Jelle Zijlstra <jelle.zijlstra@gmail.com>
* [3.13] gh-123930: Better error for "from imports" when script shadows module ↵Shantanu2024-10-241-45/+103
| | | | | | | (GH-123929) (#125937) gh-123930: Better error for "from imports" when script shadows module (#123929) (cherry picked from commit 500f5338a8fe13719478589333fcd296e8e8eb02)
* [3.13] gh-125268: Use static string for "1e309" in AST (GH-125272) (GH-125280)Sam Gross2024-10-242-27/+4
| | | | | | When formatting the AST as a string, infinite values are replaced by 1e309, which evaluates to infinity. The initialization of this string replacement was not thread-safe in the free threading build. (cherry picked from commit 427dcf24de4e06d239745d74d08c4b2e541dca5a)
* [3.13] gh-125842: Fix `sys.exit(0xffff_ffff)` on Windows (GH-125896) (GH-125925)Miss Islington (bot)2024-10-241-33/+47
| | | | | | | | | | | | | On Windows, `long` is a signed 32-bit integer so it can't represent `0xffff_ffff` without overflow. Windows exit codes are unsigned 32-bit integers, so if a child process exits with `-1`, it will be represented as `0xffff_ffff`. Also fix a number of other possible cases where `_Py_HandleSystemExit` could return with an exception set, leading to a `SystemError` (or fatal error in debug builds) later on during shutdown. (cherry picked from commit ad6110a93ffa82cae71af6c78692de065d3871b5) Co-authored-by: Sam Gross <colesbury@gmail.com>
* [3.13] gh-125859: Fix crash when `gc.get_objects` is called during GC ↵Miss Islington (bot)2024-10-241-73/+64
| | | | | | | | | | | | | | (GH-125882) (GH-125921) This fixes a crash when `gc.get_objects()` or `gc.get_referrers()` is called during a GC in the free threading build. Switch to `_PyObjectStack` to avoid corrupting the `struct worklist` linked list maintained by the GC. Also, don't return objects that are frozen (`gc.freeze()`) or in the process of being collected to more closely match the behavior of the default build. (cherry picked from commit e545ead66ce725aae6fb0ad5d733abe806c19750) Co-authored-by: Sam Gross <colesbury@gmail.com>
* [3.13] gh-125038: Fix crash after genexpr.gi_frame.f_locals manipulations ↵Jelle Zijlstra2024-10-231-0/+1
| | | | | | | (GH-125178) (#125846) (cherry picked from commit 079875e39589eb0628b5883f7ffa387e7476ec06) Co-authored-by: Mikhail Efimov <efimov.mikhail@gmail.com>
* [3.13] gh-124375: Avoid calling `_PyMem_ProcessDelayed` on other thread ↵Miss Islington (bot)2024-10-151-6/+12
| | | | | | | | | | | | | | states (GH-124459) (#125540) This fixes a crash when running the PyO3 test suite on the free-threaded build. The `qsbr` field is initialized after the `PyThreadState` is added to the interpreter's linked list -- it might still be NULL. Instead, we "steal" the queue of to-be-freed memory blocks. This is always initialized (possibly empty) and protected by the stop the world pause. (cherry picked from commit 54c6fcbefd33a8d8bf8c004cf1aad3be3d37b933) Co-authored-by: Sam Gross <colesbury@gmail.com>
* [3.13] gh-124188: Fix PyErr_ProgramTextObject() (GH-124189) (GH-124423)Miss Islington (bot)2024-10-071-35/+56
| | | | | | | | | | * Detect source file encoding. * Use the "replace" error handler even for UTF-8 (default) encoding. * Remove the BOM. * Fix detection of too long lines if they contain NUL. * Return the head rather than the tail for truncated long lines. (cherry picked from commit e2f710792b0418b8ca1ca3b8cdf39588c7268495) Co-authored-by: Serhiy Storchaka <storchaka@gmail.com>
* [3.13] gh-112804: Clamping timeout value for _PySemaphore_PlatformWait ↵Miss Islington (bot)2024-10-071-1/+8
| | | | | | | | | | | | | | (gh-124914) (gh-124991) gh-112804: Clamping timeout value for _PySemaphore_PlatformWait (gh-124914) * gh-112804: Clamping timeout value for _PySemaphore_PlatformWait * Address code review * nit (cherry picked from commit a5fc50994a3fae46d0c3d496c4e1d5e00548a1b8) Co-authored-by: Donghee Na <donghee.na@python.org>
* [3.13] gh-124871: fix 'visited' tracking in compiler's reachability analysis ↵Miss Islington (bot)2024-10-041-2/+3
| | | | | | | | (GH-124952) (#124977) gh-124871: fix 'visited' tracking in compiler's reachability analysis (GH-124952) (cherry picked from commit f474391b26aa9208b44ca879f8635409d322f738) Co-authored-by: Irit Katriel <1055913+iritkatriel@users.noreply.github.com>
* [3.13] gh-124442: make `__static_attributes__` deterministic by sorting ↵Jelle Zijlstra2024-10-011-1/+12
| | | | | | | | | | | | (GH-124492) (#124738) * [3.13] gh-124442: make `__static_attributes__` deterministic by sorting (GH-124492) (cherry picked from commit 04c837d9d8a474777ef9c1412fbba14f0682366c) Co-authored-by: Kira <kp2pml30@gmail.com> Signed-off-by: kp2pml30 <kp2pml30@gmail.com> Co-authored-by: Jelle Zijlstra <jelle.zijlstra@gmail.com> Co-authored-by: Adam Turner <9087854+AA-Turner@users.noreply.github.com>
* [3.13] GH-124567: Revert the Incremental GC in 3.13 (#124770)T. Wouters2024-09-302-575/+335
| | | | | Revert the incremental GC in 3.13, since it's not clear that without further turning, the benefits outweigh the costs. Co-authored-by: Adam Turner <9087854+AA-Turner@users.noreply.github.com>
* [3.13] gh-123892: Add "_wmi" to sys.stdlib_module_names (GH-123893) (#123896)Miss Islington (bot)2024-09-301-0/+1
| | | | | | gh-123892: Add "_wmi" to sys.stdlib_module_names (GH-123893) (cherry picked from commit fb1b51a58df4315f7ef3171a5abeb74f132b0971) Co-authored-by: Victor Stinner <vstinner@python.org>
* [3.13] gh-124746: remove assertion on exits having line numbers (#124762)Irit Katriel2024-09-301-16/+0
| | | gh-124746: remove assertion in 3.13
* [3.13] gh-116510: Fix crash during sub-interpreter shutdown (gh-124645) ↵Miss Islington (bot)2024-09-271-3/+26
| | | | | | | | | | | | (#124649) gh-116510: Fix crash during sub-interpreter shutdown (gh-124645) Fix a bug that can cause a crash when sub-interpreters use "basic" single-phase extension modules. Shared objects could refer to PyGC_Head nodes that had been freed as part of interpreter shutdown. (cherry picked from commit 6f9525dd3f0ef5809106ca0923a7512d666a04bb) Co-authored-by: Neil Schemenauer <nas-github@arctrix.com>
* [3.13] gh-124160: Pass main_tstate to update_global_state_for_extension() ↵Miss Islington (bot)2024-09-231-1/+1
| | | | | | | | (GH-124164) (#124250) gh-124160: Pass main_tstate to update_global_state_for_extension() (GH-124164) (cherry picked from commit 7331d0f70bc9fbac177b76b6ec03486430383425) Co-authored-by: luk1337 <priv.luk@gmail.com>
* [3.13] gh-123880: Allow recursive import of single-phase-init modules ↵Miss Islington (bot)2024-09-231-5/+13
| | | | | | | | | | | (GH-123950) (#124273) gh-123880: Allow recursive import of single-phase-init modules (GH-123950) (cherry picked from commit aee219f4558dda619bd86e4b0e028ce47a5e4b77) Co-authored-by: Petr Viktorin <encukou@gmail.com> Co-authored-by: Shantanu <12621235+hauntsaninja@users.noreply.github.com> Co-authored-by: Brett Cannon <brett@python.org>
* [3.13] GH-123545: Remove duplicate Py_DECREF when handling ↵Savannah Ostrowski2024-09-062-4/+0
| | | | | | | _PyOptimizer_Optimize errors (GH-123759) (cherry picked from commit 1fbc118c5d3916e920a57cda3cb6d9a0292de26e) Co-authored-by: Savannah Ostrowski <savannahostrowski@gmail.com>
* [3.13] gh-123275: Support `-Xgil=1` and `PYTHON_GIL=1` on non-free-threaded ↵Miss Islington (bot)2024-09-061-4/+8
| | | | | | | | builds (gh-123276) (gh-123753) gh-123275: Support `-Xgil=1` and `PYTHON_GIL=1` on non-free-threaded builds (gh-123276) (cherry picked from commit 84ad264ce602fb263a46a4536377bdc830eea81e) Co-authored-by: Peter Bierma <zintensitydev@gmail.com>
* [3.13] gh-121804: always show error location for SyntaxError's in basic repl ↵Miss Islington (bot)2024-09-031-0/+31
| | | | | | | | (GH-123202) (#123631) gh-121804: always show error location for SyntaxError's in basic repl (GH-123202) (cherry picked from commit 6822cb23c62032381971d8a47fd41d1e98710a8c) Co-authored-by: Sergey B Kirpichev <skirpichev@gmail.com>
* [3.13] gh-123091: Use more _Py_IsImmortalLoose() (GH-123602) (GH-123622)Petr Viktorin2024-09-031-1/+1
| | | | | | | | | Switch more _Py_IsImmortal(...) assertions to _Py_IsImmortalLoose(...) The remaining calls to _Py_IsImmortal are in free-threaded-only code, initialization of core objects, tests, and guards that fall back to code that works with mortal objects. (cherry picked from commit 57c471a6880956338549380fc5fb35c986937901)
* [3.13] gh-98442: fix locations of with statement's cleanup instructions ↵Miss Islington (bot)2024-09-021-1/+3
| | | | | | | | | | | (GH-120763) (#120786) gh-98442: fix locations of with statement's cleanup instructions (GH-120763) (cherry picked from commit 55596ae0446e40f47e2a28b8897fe9530c32a19a) gh-98442: fix location of with statement's cleanup instructions Co-authored-by: Irit Katriel <1055913+iritkatriel@users.noreply.github.com>
* [3.13] gh-93691: fix too broad source locations of with-statement ↵Miss Islington (bot)2024-09-021-3/+2
| | | | | | | | instructions (GH-120125) (#123604) gh-93691: fix too broad source locations of with-statement instructions (GH-120125) (cherry picked from commit eca3f7762c23b22a73a5e0b09520748c88aab4a0) Co-authored-by: Irit Katriel <1055913+iritkatriel@users.noreply.github.com>
* [3.13] gh-123091: Use _Py_IsImmortalLoose() (#123511) (#123600)Victor Stinner2024-09-023-6/+6
| | | | | | | | gh-123091: Use _Py_IsImmortalLoose() (#123511) Use _Py_IsImmortalLoose() in bytesobject.c, typeobject.c and ceval.c. (cherry picked from commit f1a0d96f41db9dfa5d7f0b32e72f6f7301a86f91)
* [3.13] GH-117759: Document incremental GC (GH-123266) (#123395)Miss Islington (bot)2024-09-021-11/+16
| | | | | | | | | | GH-117759: Document incremental GC (GH-123266) * Update what's new * Update gc module docs and fix inconsistency in gc.get_objects (cherry picked from commit f49a91648aac2ad55b2e005ba28fac1c7edca020) Co-authored-by: Mark Shannon <mark@hotpy.org>
* [3.13] GH-122298: Restore printing of GC stats (GH-123261) (#123268)Miss Islington (bot)2024-09-021-0/+25
| | | | | | GH-122298: Restore printing of GC stats (GH-123261) (cherry picked from commit 7cd3aa42f0cf72bf9a214e2630850879fe078377) Co-authored-by: Mark Shannon <mark@hotpy.org>
* [3.13] Fix typos in docs, error messages and comments (#122502) (#122606)Alex Waygood2024-09-021-1/+1
| | | | | | | | Fix typos in docs, error messages and comments (#122502) (cherry-picked from commit 46f5a4f9e1781ad8d60eb53bbaf6cd8534a286cd) Signed-off-by: jianghuyiyuan <shuangcui@live.com> Co-authored-by: jianghuyiyuan <shuangcui@live.com>
* [3.13] gh-123142: fix too wide source location of GET_ITER/GET_AITER ↵Irit Katriel2024-08-281-8/+7
| | | | | (GH-123420). (#123435) (cherry picked from commit 61bef6245c4a32bf430d684ede8603f423d63284)
* [3.13] gh-123344: Add missing ast optimizations for PEP 696 (GH-123377) ↵Miss Islington (bot)2024-08-281-0/+3
| | | | | | | | | | (#123427) (cherry picked from commit be083cee34d62ae860acac70dfa078fc5c96ade3) Co-authored-by: Bogdan Romanyuk <65823030+wrongnull@users.noreply.github.com> Co-authored-by: Kirill Podoprigora <kirill.bast9@mail.ru> Co-authored-by: Jelle Zijlstra <jelle.zijlstra@gmail.com>
* [3.13] gh-123083: Fix a potential use-after-free in ``STORE_ATTR_WITH… ↵Donghee Na2024-08-222-8/+10
| | | | | | (#123235) [3.13] gh-123083: Fix a potential use-after-free in ``STORE_ATTR_WITH_HINT`` (gh-123092) (cherry picked from commit 297f2e093ec95800ae2184330b8408c875523467)
* [3.13] gh-123142: Fix too wide source locations in tracebacks of exceptions ↵Irit Katriel2024-08-221-2/+3
| | | | | from broken iterables in comprehensions (GH-123173). (#123209) (cherry picked from commit ec89620e5e147ba028a46dd695ef073a72000b84)
* [3.13] gh-122712: Guard against __code__ reassignment in ↵mpage2024-08-212-0/+4
| | | | CALL_ALLOC_AND_ENTER_INIT (GH-122713) (GH-123184)