Commit graph

32205 commits

Author SHA1 Message Date
Miss Islington (bot)
4e036d376e
[3.13] gh-117378: Fix multiprocessing forkserver preload sys.path inheritance. (GH-126538) (GH-126632)
gh-117378: Fix multiprocessing forkserver preload sys.path inheritance. (GH-126538)

`sys.path` was not properly being sent from the parent process when launching
the multiprocessing forkserver process to preload imports.  This bug has been
there since the forkserver start method was introduced in Python 3.4.  It was
always _supposed_ to inherit `sys.path` the same way the spawn method does.

Observable behavior change: A `''` value in `sys.path` will now be replaced in
the forkserver's `sys.path` with an absolute pathname
`os.path.abspath(os.getcwd())` saved at the time that `multiprocessing` was
imported in the parent process as it already was when using the spawn start
method. **This will only be observable during forkserver preload imports**.

The code invoked before calling things in another process already correctly sets `sys.path`.
Which is likely why this went unnoticed for so long as a mere performance issue in
some configurations.

A workaround for the bug on impacted Pythons is to set PYTHONPATH in the
environment before multiprocessing's forkserver process was started. Not perfect
as that is then inherited by other children, etc, but likely good enough for many
people's purposes.

(cherry picked from commit 9d08423b6e)

Co-authored-by: Gregory P. Smith <greg@krypto.org>
Co-authored-by: Serhiy Storchaka <storchaka@gmail.com>
2024-11-09 15:47:58 -08:00
Miss Islington (bot)
20043d5cf4
[3.13] GH-126212: Fix removal of slashes in file URIs on Windows (GH-126214) (#126590)
GH-126212: Fix removal of slashes in file URIs on Windows (GH-126214)

Adjust `urllib.request.pathname2url()` and `url2pathname()` so that they
don't remove slashes from Windows DOS drive paths and URLs. There was no
basis for this behaviour, and it conflicts with how UNC and POSIX paths are
handled.
(cherry picked from commit 54c63a32d0)

Co-authored-by: Barney Gale <barney.gale@gmail.com>
2024-11-08 17:31:44 +00:00
Miss Islington (bot)
3b05ef10c1
[3.13] gh-125679: multiprocessing Lock and RLock - fix invalid representation string on MacOSX. (GH-125680) (#126533)
gh-125679: multiprocessing Lock and RLock - fix invalid representation string on MacOSX. (GH-125680)
(cherry picked from commit 75f7cf91ec)

Co-authored-by: Duprat <yduprat@gmail.com>
2024-11-07 01:49:31 -08:00
Miss Islington (bot)
07a6aa3f8f
[3.13] gh-125631: Enable setting persistent_id and persistent_load of pickler and unpickler (GH-125752) (GH-126528)
pickle.Pickler.persistent_id and pickle.Unpickler.persistent_load can
again be overridden as instance attributes.
(cherry picked from commit 223d3dc554)

Co-authored-by: Serhiy Storchaka <storchaka@gmail.com>
2024-11-07 07:21:23 +00:00
Miss Islington (bot)
59316a668e
[3.13] gh-126451: Register contextvars.Context to collections.abc.Mapping (GH-126452) (#126518)
gh-126451: Register contextvars.Context to collections.abc.Mapping (GH-126452)
(cherry picked from commit 5dc36dc565)

Co-authored-by: Stephen Morton <git@tungol.org>
Co-authored-by: sobolevn <mail@sobolevn.me>
Co-authored-by: Alex Waygood <Alex.Waygood@Gmail.com>
Co-authored-by: Peter Bierma <zintensitydev@gmail.com>
2024-11-06 22:41:48 +00:00
Miss Islington (bot)
9e115b1015
[3.13] gh-126489: Do not call persistent_id() for a persistent id in Python pickle (GH-126490) (GH-126514)
(cherry picked from commit 8fa4dc4ba8)

Co-authored-by: Serhiy Storchaka <storchaka@gmail.com>
2024-11-06 22:54:48 +02:00
Miss Islington (bot)
ba86632f7e
[3.13] gh-70764: inspect.getclosurevars now identifies global variables with LOAD_GLOBAL (GH-120143) (#126459)
gh-70764: inspect.getclosurevars now identifies global variables with LOAD_GLOBAL (GH-120143)
(cherry picked from commit 83ba8c2bba)

Co-authored-by: blhsing <blhsing@gmail.com>
2024-11-06 00:18:32 +00:00
Alex Waygood
c1e708ab07
[3.13] gh-126417: Register multiprocessing proxy types to an appropriate collections.abc class (#126419) (#126435)
Co-authored-by: Stephen Morton <github@tungol.org>
2024-11-05 11:22:44 +00:00
Miss Islington (bot)
ce1a1a6021
[3.13] gh-126303: Fix pickling and copying of os.sched_param objects (GH-126336) (GH-126423)
(cherry picked from commit d3840503b0)

Co-authored-by: Serhiy Storchaka <storchaka@gmail.com>
2024-11-05 06:50:33 +00:00
Miss Islington (bot)
cddecf228a
[3.13] gh-125783: Add more tests to prevent regressions with the combination of ctypes and metaclasses. (GH-126126) (GH-126275)
gh-125783: Add more tests to prevent regressions with the combination of ctypes and metaclasses. (GH-126126)
(cherry picked from commit 6c67446a6e)

Co-authored-by: Jun Komoda <45822440+junkmd@users.noreply.github.com>
2024-11-04 11:58:20 +01:00
Miss Islington (bot)
86d6c68d43
[3.13] gh-104400: Add more tests to pygettext (GH-108173) (GH-126361)
(cherry picked from commit dcae5cd6ab)

Co-authored-by: Tomas R <tomas.roun8@gmail.com>
2024-11-03 14:30:16 +00:00
Miss Islington (bot)
79ec946c16
[3.13] gh-125522: Remove bare except in test_zlib.test_flushes (gh-126321) (gh-126327)
gh-125522: Remove bare except in test_zlib.test_flushes (gh-126321)
(cherry picked from commit cfb1b2f0cb)

Co-authored-by: simple-is-great <103080930+simple-is-great@users.noreply.github.com>
2024-11-02 08:51:28 +00:00
Miss Islington (bot)
1b9710c571
[3.13] gh-126220: Fix crash on calls to _lsprof.Profiler methods with 0 args (backportable) (GH-126271) (#126310)
gh-126220: Fix crash on calls to `_lsprof.Profiler` methods with 0 args (backportable) (GH-126271)
(cherry picked from commit 28b148fb32)

Co-authored-by: sobolevn <mail@sobolevn.me>
Co-authored-by: Erlend E. Aasland <erlend.aasland@protonmail.com>
2024-11-01 22:24:06 +00:00
Miss Islington (bot)
588da2e26a
[3.13] GH-126205: Fix conversion of UNC paths to file URIs (GH-126208) (#126249)
GH-126205: Fix conversion of UNC paths to file URIs (GH-126208)

File URIs for Windows UNC paths should begin with two slashes, not four.
(cherry picked from commit 951cb2c369)

Co-authored-by: Barney Gale <barney.gale@gmail.com>
2024-10-31 16:58:56 +00:00
Miss Islington (bot)
89664d4d48
[3.13] gh-126223: Propagate unicode errors in _interpreters.create() (GH-126224) (#126242)
gh-126223: Propagate unicode errors in `_interpreters.create()` (GH-126224)
(cherry picked from commit 01415213d7)

Co-authored-by: Peter Bierma <zintensitydev@gmail.com>
Co-authored-by: sobolevn <mail@sobolevn.me>
Co-authored-by: Bénédikt Tran <10796600+picnixz@users.noreply.github.com>
2024-10-31 14:46:36 +00:00
Miss Islington (bot)
ac00bf0e96
[3.13] gh-126083: Fix a reference leak in asyncio.Task when reinitializing with new non-None context (GH-126103) (#126229)
gh-126083: Fix a reference leak in `asyncio.Task` when reinitializing with new non-`None` context (GH-126103)
(cherry picked from commit d07dcce693)

Co-authored-by: Nico-Posada <102486290+Nico-Posada@users.noreply.github.com>
2024-10-31 08:14:00 +00:00
Miss Islington (bot)
00ff23f06d
[3.13] gh-60712: Include the "object" type in the lists of documented types (GH-103036) (GH-126197)
gh-60712: Include the "object" type in the lists of documented types (GH-103036)

* add test for the predefined object's attributes

* Include the "object" type in the lists of documented types

* remove 'or' from augment tuple

* 📜🤖 Added by blurb_it.

* Add cross-reference to news



* Fix format for the function parameter



* Add space



* add reference for the 'object'



* add reference for NotImplemented



* Change ref:`string <textseq>`  as class:`str`



* remove hyphen from `newly-created`

* Update Doc/reference/datamodel.rst

'dictionaries' to 'dict'



* Update predefined attribute types in testPredefinedAttrs

* Change `universal type` as `top type`

* Don't mention about the top type

* Update the description of richcmpfuncs

* Update Doc/library/stdtypes.rst



* Revert: Hierarchy Section in Data Model Documentation

* Revert to original explanations of __new__ and __init__ methods in datamodel.rst for improved clarity.

* Update Doc/reference/datamodel.rst



* Remove blank line



* Use ref:`str <textseq>` instead of :class:`str



* Revert changes the description of Other Built-in Types in stdtypes.rst

* Update Doc/reference/datamodel.rst



---------

(cherry picked from commit 4f826214b3)

Co-authored-by: Furkan Onder <furkanonder@protonmail.com>
Co-authored-by: blurb-it[bot] <43283697+blurb-it[bot]@users.noreply.github.com>
Co-authored-by: C.A.M. Gerlach <CAM.Gerlach@Gerlach.CAM>
Co-authored-by: Terry Jan Reedy <tjreedy@udel.edu>
Co-authored-by: Éric <merwok@netwok.org>
Co-authored-by: Carol Willing <carolcode@willingconsulting.com>
2024-10-30 13:16:38 -07:00
Miss Islington (bot)
b9cbc58e13
[3.13] gh-126139: Improve error message location for future statement with unknown feature (GH-126140) (#126155)
gh-126139: Improve error message location for future statement with unknown feature (GH-126140)
(cherry picked from commit 224c370a36)

Co-authored-by: Brian Schubert <brianm.schubert@gmail.com>
2024-10-30 00:36:06 +00:00
Miss Islington (bot)
35108c1871
[3.13] GH-125866: Improve tests for pathname2url() and url2pathname() (GH-125993) (#126144)
GH-125866: Improve tests for `pathname2url()` and `url2pathname()` (GH-125993)

Merge `URL2PathNameTests` and `PathName2URLTests` test cases (which test
only the Windows-specific implementations from `nturl2path`) into the main
`Pathname_Tests` test case for these functions.

Copy/port some test cases for `pathlib.Path.as_uri()` and `from_uri()`.
(cherry picked from commit 6742f14dfd)

Co-authored-by: Barney Gale <barney.gale@gmail.com>
2024-10-29 21:08:17 +00:00
Miss Islington (bot)
8dc0575047
gh-126084: Fix venvwlauncher.exe to run pythonw.exe (GH-126088)
(cherry picked from commit 802d405ff1)

Co-authored-by: Christian Ullrich <chris@chrullrich.net>
2024-10-29 20:20:05 +00:00
Miss Islington (bot)
265bc19b84
[3.13] gh-126105: Fix crash in ast module, when ._fields is deleted (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 b2eaa75b17)

Co-authored-by: sobolevn <mail@sobolevn.me>
2024-10-29 16:07:32 +00:00
Miss Islington (bot)
36f8184d29
[3.13] gh-126014: Ignore __pycache__-only folders in makefile tests (GH-126066) (#126109)
gh-126014: Ignore `__pycache__`-only folders in makefile tests (GH-126066)
(cherry picked from commit aeafaf4cda)

Co-authored-by: sobolevn <mail@sobolevn.me>
Co-authored-by: Tomas R. <tomas.roun8@gmail.com>
2024-10-29 08:11:47 +00:00
Miss Islington (bot)
86ec8aa7ed
[3.13] gh-125783: Add tests to prevent regressions with the combination of ctypes and metaclasses. (GH-125881) (#125987)
gh-125783: Add tests to prevent regressions with the combination of `ctypes` and metaclasses. (GH-125881)
(cherry picked from commit 1384409460)

Co-authored-by: Jun Komoda <45822440+junkmd@users.noreply.github.com>
2024-10-28 13:49:45 +01:00
Serhiy Storchaka
ff044ed800
[3.13] gh-124295: Add translation tests for argparse (GH-124803) (GH-126046)
(cherry picked from commit 0922a4ae0d)

Co-authored-by: Tomas R. <tomas.roun8@gmail.com>
2024-10-27 18:35:30 +00:00
Miss Islington (bot)
ac31a2607f
[3.13] gh-125966: fix use-after-free on fut->fut_callback0 due to an evil callback's __eq__ in asyncio (GH-125967) (#126047)
gh-125966: fix use-after-free on `fut->fut_callback0` due to an evil callback's `__eq__` in asyncio (GH-125967)
(cherry picked from commit ed5059eeb1)

Co-authored-by: Bénédikt Tran <10796600+picnixz@users.noreply.github.com>
2024-10-27 17:36:10 +00:00
Miss Islington (bot)
25421c715d
[3.13] gh-125984: fix use-after-free on fut->fut_{callback,context}0 due to an evil loop.__getattribute__ (GH-126003) (#126043)
gh-125984: fix use-after-free on `fut->fut_{callback,context}0` due to an evil `loop.__getattribute__` (GH-126003)
(cherry picked from commit f819d4301d)

Co-authored-by: Bénédikt Tran <10796600+picnixz@users.noreply.github.com>
2024-10-27 15:28:02 +00:00
Miss Islington (bot)
e4157f0fd7
[3.13] gh-126018: Avoid aborting due to unnecessary assert in sys.audit (GH-126020) (#126042)
(cherry picked from commit 80eec52fc8)

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>
2024-10-27 15:07:33 +00:00
Miss Islington (bot)
9e37bfae5a
[3.13] gh-125593: Use colors to highlight error locations in tracebacks from exception group (GH-125681) (#126021)
gh-125593: Use colors to highlight error locations in tracebacks from exception group (GH-125681)
(cherry picked from commit 51b012b2a8)

Co-authored-by: Bogdan Romanyuk <65823030+wrongnull@users.noreply.github.com>
2024-10-27 01:23:00 +00:00
Miss Islington (bot)
95bcbcb7c8
[3.13] gh-118950: Fix SSLProtocol.connection_lost not being called when OSError is thrown (GH-118960) (#125931)
gh-118950: Fix SSLProtocol.connection_lost not being called when OSError is thrown (GH-118960)

(cherry picked from commit 3f24bde0b6)

Co-authored-by: Javad Shafique <javadshafique@hotmail.com>
Co-authored-by: Kumar Aditya <kumaraditya@python.org>
2024-10-26 22:01:47 +05:30
Miss Islington (bot)
9c6cda5ccb
[3.13] gh-125969: fix OOB in future_schedule_callbacks due to an evil call_soon (GH-125970) (#125991)
gh-125969: fix OOB in `future_schedule_callbacks` due to an evil `call_soon` (GH-125970)
(cherry picked from commit c5b99f5c2c)

Co-authored-by: Bénédikt Tran <10796600+picnixz@users.noreply.github.com>
Co-authored-by: Andrew Svetlov <andrew.svetlov@gmail.com>
2024-10-25 18:43:07 +00:00
Miss Islington (bot)
7b46ae92ad
[3.13] gh-125608: Trigger dictionary watchers when inline values change (GH-125611) (GH-125982)
Dictionary watchers on an object's attributes dictionary
(`object.__dict__`) were not triggered when the managed dictionary used
the object's inline values.
(cherry picked from commit 5989eb7446)

Co-authored-by: Sam Gross <colesbury@gmail.com>
2024-10-25 14:35:04 +00:00
Kumar Aditya
f54e1a2d64
[3.13] GH-125789: fix fut._callbacks to always return a copy of callbacks (#125922) (#125976)
GH-125789: fix `fut._callbacks` to always return a copy of callbacks (#125922)

Fix `asyncio.Future._callbacks` to always return a copy of the internal list of callbacks to avoid mutation from user code affecting the internal state.

(cherry picked from commit cae853e3b4)
2024-10-25 13:19:31 +00:00
Miss Islington (bot)
b67358125c
[3.13] gh-123930: Correct test of attribute failure to account for iOS (GH-125959) (#125960)
gh-123930: Correct test of attribute failure to account for iOS (GH-125959)

Update a test of importing attributes from binary modules to account for iOS conditions.
(cherry picked from commit 75401febc9)

Co-authored-by: Russell Keith-Magee <russell@keith-magee.com>
2024-10-25 07:42:20 +00:00
Miss Islington (bot)
32830cf703
[3.13] gh-125259: Fix error notes removal in enum initialization (GH-125647) (GH-125858)
gh-125259: Fix error notes removal in enum initialization (GH-125647)
(cherry picked from commit 34653bba64)

Co-authored-by: Mario Šaško <mariosasko777@gmail.com>
2024-10-24 20:24:23 -07:00
Miss Islington (bot)
083c5814c8
[3.13] gh-125942: Android: set stdout to errors="backslashreplace" (GH-125943) (#125950)
gh-125942: Android: set stdout to `errors="backslashreplace"` (GH-125943)

Android stdout/err streams now use `backslashreplace` encoding to ensure readability of the Android log.
(cherry picked from commit b08570c90e)

Co-authored-by: Malcolm Smith <smith@chaquo.com>
2024-10-25 00:59:23 +00:00
Shantanu
3d8b6f0977
[3.13] gh-123930: Better error for "from imports" when script shadows module (GH-123929) (#125937)
gh-123930: Better error for "from imports" when script shadows module (#123929)

(cherry picked from commit 500f5338a8)
2024-10-24 19:37:31 +00:00
Miss Islington (bot)
52b57eee64
[3.13] gh-125842: Fix sys.exit(0xffff_ffff) on Windows (GH-125896) (GH-125925)
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 ad6110a93f)

Co-authored-by: Sam Gross <colesbury@gmail.com>
2024-10-24 16:27:30 +00:00
Miss Islington (bot)
5c2696bc26
[3.13] gh-125859: Fix crash when gc.get_objects is called during GC (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 e545ead66c)

Co-authored-by: Sam Gross <colesbury@gmail.com>
2024-10-24 14:08:15 +00:00
Tian Gao
e334022de0
[3.13] gh-125884: Support breakpoint on functions with annotations (G… (#125902)
[3.13] gh-125884: Support breakpoint on functions with annotations (GH-125892)
(cherry picked from commit 8f2c0f7a03)
2024-10-23 22:37:24 +00:00
Miss Islington (bot)
e596740399
[3.13] gh-124858: fix happy eyeballs refcyles (GH-124859) (#124912)
gh-124858: fix happy eyeballs refcyles (GH-124859)
(cherry picked from commit c066bf5535)

Co-authored-by: Thomas Grainger <tagrain@gmail.com>
2024-10-23 12:35:56 -07:00
Jelle Zijlstra
bcc7227ef7
[3.13] gh-125038: Fix crash after genexpr.gi_frame.f_locals manipulations (GH-125178) (#125846)
(cherry picked from commit 079875e395)

Co-authored-by: Mikhail Efimov <efimov.mikhail@gmail.com>
2024-10-23 06:45:28 -07:00
Miss Islington (bot)
5bb0538f6e
[3.13] gh-125710: [Enum] fix hashable<->nonhashable comparisons for member values (GH-125735) (GH-125851)
gh-125710: [Enum] fix hashable<->nonhashable comparisons for member values (GH-125735)
(cherry picked from commit aaed91cabc)

Co-authored-by: Ethan Furman <ethan@stoneleaf.us>
2024-10-22 11:29:42 -07:00
Miss Islington (bot)
e52095a0c1
[3.13] gh-124651: Quote template strings in venv activation scripts (GH-124712) (GH-125813)
(cherry picked from commit d48cc82ed2)
2024-10-22 16:49:20 +01:00
Miss Islington (bot)
1fe63b15eb
[3.13] gh-125355: Rewrite parse_intermixed_args() in argparse (GH-125356) (GH-125834)
* The parser no longer changes temporarily during parsing.
* Default values are not processed twice.
* Required mutually exclusive groups containing positional arguments are
  now supported.
* The missing arguments report now includes the names of all required
  optional and positional arguments.
* Unknown options can be intermixed with positional arguments in
  parse_known_intermixed_args().
(cherry picked from commit 759a54d28f)

Co-authored-by: Serhiy Storchaka <storchaka@gmail.com>
2024-10-22 15:58:05 +03:00
Miss Islington (bot)
e3bfe1e756
[3.13] gh-125811: Remove DeprecationWarnings in test_peg_generator (GH-125812) (#125831)
gh-125811: Remove DeprecationWarnings in test_peg_generator (GH-125812)
(cherry picked from commit 4efe64aa56)

Co-authored-by: Mikhail Efimov <efimov.mikhail@gmail.com>
2024-10-22 09:06:26 +00:00
Miss Islington (bot)
8257ecd888
[3.13] gh-53203: Fix test_strptime on Solaris (GH-125785) (GH-125806)
Use fixed timezone.
Skip roundtrip tests on locales with 2-digit year.
(cherry picked from commit 9dde4638e4)

Co-authored-by: Serhiy Storchaka <storchaka@gmail.com>
2024-10-21 19:42:18 +00:00
Miss Islington (bot)
c1c3f5d19e
[3.13] gh-124969: Make locale.nl_langinfo(locale.ALT_DIGITS) returning a string again (GH-125774) (GH-125804)
This is a follow up of GH-124974. Only Glibc needed a fix.
Now the returned value is a string consisting of semicolon-separated
symbols on all Posix platforms.
(cherry picked from commit dcc4fb2c90)

Co-authored-by: Serhiy Storchaka <storchaka@gmail.com>
2024-10-21 19:30:23 +00:00
Miss Islington (bot)
829d650ccb
[3.13] gh-125590: Allow FrameLocalsProxy to delete and pop keys from extra locals (GH-125616) (#125797)
gh-125590: Allow FrameLocalsProxy to delete and pop keys from extra locals (GH-125616)
(cherry picked from commit 5b7a872b26)

Co-authored-by: Tian Gao <gaogaotiantian@hotmail.com>
2024-10-21 17:06:27 +00:00
Serhiy Storchaka
65e43ca6d9
[3.13] gh-125316: Fix using partial() as Enum member (GH-125361)
A FutureWarning with suggestion to use enum.member() is now emitted
when the partial instance is used as an enum member.
2024-10-21 16:31:42 +03:00
Miss Islington (bot)
d9dafc790d
[3.13] gh-125660: Reject invalid unicode escapes for Python implementation of JSON decoder (GH-125683) (GH-125694)
(cherry picked from commit df751363e3)

Co-authored-by: Nice Zombies <nineteendo19d0@gmail.com>
2024-10-21 16:07:56 +03:00