Commit graph

117713 commits

Author SHA1 Message Date
Guido van Rossum
bbdd8895a5
[3.12] gh-108487: Change assert that should've been DEOPT_IF (#108509)
* Remove assert that should've been DEOPT_IF

The assert(method != NULL) in CALL_NO_KW_LIST_APPEND is wrong --
this condition should lead to a deoptimization, and indeed there
is a DEOPT_IF two lines later that will trigger if method == NULL.

This would crash in a devious repro scenario (first seen live
in boto3 tests) when compiled with assertions enabled.
In a production version there is no crash, so impact is limited.

(The crash also appears in main; I will prepare a separate PR.)

* Add back a different assert(self != NULL)

* 📜🤖 Added by blurb_it.

---------

Co-authored-by: blurb-it[bot] <43283697+blurb-it[bot]@users.noreply.github.com>
2023-08-27 01:22:40 +02:00
Miss Islington (bot)
208741cc30
[3.12] gh-102211: Document re.{Pattern,Match}’s existence (GH-102212) (#108490)
gh-102211: Document `re.{Pattern,Match}`’s existence (GH-102212)
(cherry picked from commit 6895ddf6cb)

Co-authored-by: Philipp A <flying-sheep@web.de>
Co-authored-by: Jelle Zijlstra <jelle.zijlstra@gmail.com>
Co-authored-by: Adam Turner <9087854+AA-Turner@users.noreply.github.com>
Co-authored-by: Alex Waygood <Alex.Waygood@Gmail.com>
2023-08-27 01:21:24 +02:00
Victor Stinner
bba9aa60ae
[3.12] gh-108388: Convert test_concurrent_futures to package (#108401) (#108443)
gh-108388: Convert test_concurrent_futures to package (#108401)

Convert test_concurrent_futures to a package of sub-tests.

(cherry picked from commit aa6f787faa)
2023-08-27 01:20:33 +02:00
Miss Islington (bot)
ce37fbc778
[3.12] Docs: Datamodel: Merge "Notes on using __slots__" with the parent section (GH-108400) (#108474)
Docs: Datamodel: Merge "Notes on using __slots__" with the parent section (GH-108400)
(cherry picked from commit 7f5b1a0661)

Co-authored-by: Adam Turner <9087854+AA-Turner@users.noreply.github.com>
2023-08-25 18:23:11 +02:00
Miss Islington (bot)
334da81992
[3.12] Datamodel: Add headings to the standard type hierarchy (GH-108146) (#108477)
Datamodel: Add headings to the standard type hierarchy (GH-108146)

Dedent content according to the new layout.
(cherry picked from commit 2b7bff0655)

Co-authored-by: Adam Turner <9087854+AA-Turner@users.noreply.github.com>
2023-08-25 18:22:45 +02:00
Miss Islington (bot)
b28aaf98be
[3.12] gh-108418: Speed up bigmem compression tests in dry mode (GH-108419) (#108473)
gh-108418: Speed up bigmem compression tests in dry mode (GH-108419)

Only generate and compress small amount of random data in dry run.
(cherry picked from commit 4ae3edf300)

Co-authored-by: Serhiy Storchaka <storchaka@gmail.com>
2023-08-25 18:22:06 +02:00
Miss Islington (bot)
c5448ab6d4
[3.12] GH-108202: Document `calendar` exceptions (GH-108398) (#108467)
GH-108202: Document ``calendar`` exceptions (GH-108398)
(cherry picked from commit 135098743a)

Co-authored-by: Adam Turner <9087854+AA-Turner@users.noreply.github.com>
2023-08-25 18:20:38 +02:00
Victor Stinner
9a225d7d5b
[3.12] gh-108314: PyDict_GetItemString() mentions UTF-8 (#108448)
gh-108314: PyDict_GetItemString() mentions UTF-8

PyDict_GetItemString(), PyDict_SetItemString() and
PyDict_DelItemString() expects a UTF-8 encoding string for the key.
2023-08-25 18:19:53 +02:00
Miss Islington (bot)
0eb6d87304
[3.12] gh-80527: Change support.requires_legacy_unicode_capi() (GH-108438) (#108446)
gh-80527: Change support.requires_legacy_unicode_capi() (GH-108438)

The decorator now requires to be called with parenthesis:

    @support.requires_legacy_unicode_capi()

instead of:

    @support.requires_legacy_unicode_capi

The implementation now only imports _testcapi when the decorator is
called, so "import test.support" no longer imports the _testcapi
extension.
(cherry picked from commit 995f4c48e1)

Co-authored-by: Victor Stinner <vstinner@python.org>
2023-08-25 18:18:24 +02:00
Miss Islington (bot)
22621907ee
[3.12] gh-108388: Split test_multiprocessing_spawn (GH-108396) (#108442)
gh-108388: Split test_multiprocessing_spawn (GH-108396)

Split test_multiprocessing_fork, test_multiprocessing_forkserver and
test_multiprocessing_spawn into test packages. Each package is made
of 4 sub-tests: processes, threads, manager and misc. It allows
running more tests in parallel and so reduce the total test duration.
(cherry picked from commit aa9a359ca2)

Co-authored-by: Victor Stinner <vstinner@python.org>
2023-08-25 18:15:53 +02:00
Miss Islington (bot)
09487a202f
[3.12] gh-107432 Update Porting Python 2 Code to Python 3 how-to (GH-107434) (#108409)
gh-107432 Update Porting Python 2 Code to Python 3 how-to (GH-107434)

https://docs.python.org/3/howto/pyporting.htmlGH-porting-python-2-code-to-python-3 was written for another time. In this patch:

- material that frames Python 3 as "new" is removed
- descriptions and directions have been trimmed
(cherry picked from commit 809ea7c4b6)

Co-authored-by: Daniele Procida <daniele@vurt.org>
2023-08-24 12:30:57 +02:00
Miss Islington (bot)
20357ed2a4
[3.12] gh-108111: Flush gzip write buffer before seeking, fixing bad writes (GH-108341) (#108402)
gh-108111: Flush gzip write buffer before seeking, fixing bad writes (GH-108341)
(cherry picked from commit 2eb60c1934)

Co-authored-by: Chris Markiewicz <effigies@gmail.com>
Co-authored-by: Łukasz Langa <lukasz@langa.pl>
2023-08-24 12:30:16 +02:00
Łukasz Langa
459f24aef0
[3.12] gh-108342: Make ssl TestPreHandshakeClose more reliable (GH-108370) (#108404)
* In preauth tests of test_ssl, explicitly break reference cycles
  invoving SingleConnectionTestServerThread to make sure that the
  thread is deleted. Otherwise, the test marks the environment as
  altered because the threading module sees a "dangling thread"
  (SingleConnectionTestServerThread). This test leak was introduced
  by the test added for the fix of issue gh-108310.
* Use support.SHORT_TIMEOUT instead of hardcoded 1.0 or 2.0 seconds
  timeout.
* SingleConnectionTestServerThread.run() catchs TimeoutError
* Fix a race condition (missing synchronization) in
  test_preauth_data_to_tls_client(): the server now waits until the
  client connect() completed in call_after_accept().
* test_https_client_non_tls_response_ignored() calls server.join()
  explicitly.
* Replace "localhost" with server.listener.getsockname()[0].
(cherry picked from commit 592bacb6fc)

Co-authored-by: Victor Stinner <vstinner@python.org>
2023-08-24 12:08:43 +02:00
Miss Islington (bot)
9903fe1c2a
[3.12] gh-108388: regrtest splits test_asyncio package (GH-108393) (#108397)
gh-108388: regrtest splits test_asyncio package (GH-108393)

Currently, test_asyncio package is only splitted into sub-tests when
using command "./python -m test". With this change, it's also
splitted when passing it on the command line:
"./python -m test test_asyncio".

Remove the concept of "STDTESTS". Python is now mature enough to not
have to bother with that anymore. Removing STDTESTS simplify the
code.
(cherry picked from commit 174e9da083)

Co-authored-by: Victor Stinner <vstinner@python.org>
2023-08-24 10:20:40 +02:00
Miss Islington (bot)
b312d4fd7e
[3.12] gh-70766: Mention the object getstate caveat in 3.11 What's new. (GH-108379) (#108384)
gh-70766: Mention the object getstate caveat in 3.11 What's new. (GH-108379)
(cherry picked from commit b6be18812c)

Co-authored-by: Gregory P. Smith <greg@krypto.org>
2023-08-24 01:44:50 +02:00
Miss Islington (bot)
9cf49aaaa0
[3.12] gh-77377: Ensure multiprocessing SemLock is valid for spawn-based Process before serializing it (GH-107275) (#108377)
gh-77377: Ensure multiprocessing SemLock is valid for spawn-based Process before serializing it (GH-107275)

Ensure multiprocessing SemLock is valid for spawn Process before serializing it.

Creating a multiprocessing SemLock with a fork context, and then trying to pass it to a spawn-created Process, would segfault if not detected early.

---------

(cherry picked from commit 1700d34d31)

Co-authored-by: albanD <desmaison.alban@gmail.com>
Co-authored-by: blurb-it[bot] <43283697+blurb-it[bot]@users.noreply.github.com>
Co-authored-by: Antoine Pitrou <pitrou@free.fr>
2023-08-24 01:44:07 +02:00
Miss Islington (bot)
3aa7df6544
[3.12] gh-108267: Dataclasses docs: Fix object.__setattr__ typo (GH-108355) (#108358)
gh-108267: Dataclasses docs: Fix object.__setattr__ typo (GH-108355)

Fixed a sentence in dataclasses.rst

Changed "__setattr__" to "object.__setattr__" in a section that was specifically supposed to refer to the __setattr__ method of the object class. Also suppressed the link to the data model docs for __setattr__, since we're talking about a specific __setattr__ implementation, not __setattr__ methods in general.
(cherry picked from commit 79fdacc005)

Co-authored-by: FrozenBob <30644137+FrozenBob@users.noreply.github.com>
2023-08-23 13:46:03 +02:00
Miss Islington (bot)
0d6e657689
[3.12] gh-105776: Fix test_cppext when CC contains -std=c11 option (GH-108343) (#108345)
gh-105776: Fix test_cppext when CC contains -std=c11 option (GH-108343)

Fix test_cppext when the C compiler command has the "-std=c11" option.
Remove "-std=" options from the compiler command.
(cherry picked from commit 9173b2bbe1)

Co-authored-by: Victor Stinner <vstinner@python.org>
2023-08-23 13:45:37 +02:00
Miss Islington (bot)
61dbf46ae3
[3.12] gh-108342: Break ref cycle in SSLSocket._create() exc (GH-108344) (#108348)
Explicitly break a reference cycle when SSLSocket._create() raises an
exception. Clear the variable storing the exception, since the
exception traceback contains the variables and so creates a reference
cycle.

This test leak was introduced by the test added for the fix of GH-108310.
(cherry picked from commit 64f9935035)

Co-authored-by: Victor Stinner <vstinner@python.org>
2023-08-23 12:09:55 +02:00
Miss Islington (bot)
314c98d293
[3.12] gh-107136: Remove Plausible for docs metrics (GH-107856) (#108334)
(cherry picked from commit fc23f34cc9)

Co-authored-by: Hugo van Kemenade <hugovk@users.noreply.github.com>
2023-08-23 11:01:19 +02:00
Miss Islington (bot)
200af4294e
[3.12] GH-92584: Remove distutils from the newtypes tutorial includes (GH-108024) (#108333)
GH-92584: Remove distutils from the newtypes tutorial includes (GH-108024)
(cherry picked from commit e97b7bef4f)

Co-authored-by: Adam Turner <9087854+AA-Turner@users.noreply.github.com>
2023-08-22 22:07:15 +02:00
Miss Islington (bot)
92cbe739d4
[3.12] Docs: Add link to skip to datetime's format codes (GH-108027) (#108329)
Docs: Add link to skip to datetime's format codes (GH-108027)
(cherry picked from commit 35cb1605d0)

Co-authored-by: Hugo van Kemenade <hugovk@users.noreply.github.com>
2023-08-22 22:06:53 +02:00
Miss Islington (bot)
b539dd3073
[3.12] gh-108303: Add Lib/test/test_cppext/ sub-directory (GH-108325) (#108328)
gh-108303: Add Lib/test/test_cppext/ sub-directory (GH-108325)

* Move test_cppext to its own directory
* Rename setup_testcppext.py to setup.py
* Rename _testcppext.cpp to extension.cpp
* The source (extension.cpp) is now also copied by the test.
(cherry picked from commit 21dda09600)

Co-authored-by: Victor Stinner <vstinner@python.org>
2023-08-22 22:06:33 +02:00
Victor Stinner
ca47a2183a
[3.12] gh-106016: Add Lib/test/test_module/ directory (#108293) (#108306)
gh-106016: Add Lib/test/test_module/ directory (#108293)

* Move Python scripts related to test_module to this new directory:
  good_getattr.py and bad_getattrX.py scripts.
* Move Lib/test/test_module.py to Lib/test/test_module/__init__.py.

(cherry picked from commit adfc118fda)
2023-08-22 22:06:07 +02:00
Miss Islington (bot)
fad80598dc
[3.12] Document 3.13, 3.14 and future removals (GH-108055) (#108331)
(cherry picked from commit 39de79b345)

Co-authored-by: Hugo van Kemenade <hugovk@users.noreply.github.com>
2023-08-22 21:38:13 +02:00
Miss Islington (bot)
3cdaa6a794
[3.12] gh-105857: Document that asyncio subprocess std{in,out,err} can be file handles (GH-107986) (#108332)
(cherry picked from commit 13966da71b)

Co-authored-by: Hadházy Tamás <85063808+Hels15@users.noreply.github.com>
2023-08-22 21:37:14 +02:00
Łukasz Langa
256586ab87
[3.12] gh-108310: Fix CVE-2023-40217: Check for & avoid the ssl pre-close flaw (#108316)
Instances of `ssl.SSLSocket` were vulnerable to a bypass of the TLS handshake
and included protections (like certificate verification) and treating sent
unencrypted data as if it were post-handshake TLS encrypted data.

The vulnerability is caused when a socket is connected, data is sent by the
malicious peer and stored in a buffer, and then the malicious peer closes the
socket within a small timing window before the other peers’ TLS handshake can
begin. After this sequence of events the closed socket will not immediately
attempt a TLS handshake due to not being connected but will also allow the
buffered data to be read as if a successful TLS handshake had occurred.

Co-authored-by: Gregory P. Smith [Google LLC] <greg@krypto.org>
2023-08-22 21:03:20 +02:00
Miss Islington (bot)
1dbf11814f
[3.12] gh-107700: [Enum] Document that EnumType was added in 3.11 (GH-108260) (#108301)
(cherry picked from commit e8ef0bdd8c)

Co-authored-by: Nikita Sobolev <mail@sobolevn.me>
2023-08-22 20:34:56 +02:00
Miss Islington (bot)
68fd6db981
[3.12] Docs: align the param spec of sqlite3.Connection methods with the implementation (GH-108285) (#108287)
Docs: align the param spec of sqlite3.Connection methods with the implementation (GH-108285)

- no parameters of create_aggregate() are positional-only
- all parameters of create_collation() are positional-only
(cherry picked from commit 893215a4e7)

Co-authored-by: Erlend E. Aasland <erlend@python.org>
2023-08-22 16:17:03 +02:00
Miss Islington (bot)
e5d779c0e2
[3.12] gh-107298: Fix numerous ref errors and typos in the C API docs (GH-108258) (#108284)
gh-107298: Fix numerous ref errors and typos in the C API docs (GH-108258)
(cherry picked from commit d7202e4879)

Co-authored-by: Serhiy Storchaka <storchaka@gmail.com>
2023-08-22 16:16:31 +02:00
Miss Islington (bot)
a2b680d9e9
[3.12] gh-106971: Docs: Add missing issue reference (GH-106992) (#108283)
gh-106971: Docs: Add missing issue reference (GH-106992)
(cherry picked from commit c556f9a3c9)

Co-authored-by: Junya Fukuda <junya.fukuda.e@gmail.com>
Co-authored-by: Hugo van Kemenade <hugovk@users.noreply.github.com>
2023-08-22 16:15:59 +02:00
Miss Islington (bot)
4ee9454792
[3.12] gh-107901: Fix missing line number on BACKWARD_JUMP at the end of a for loop (GH-108242) (#108275)
gh-107901: Fix missing line number on BACKWARD_JUMP at the end of a for loop (GH-108242)
(cherry picked from commit a1cc74c4ee)

Co-authored-by: Irit Katriel <1055913+iritkatriel@users.noreply.github.com>
2023-08-22 16:15:34 +02:00
Miss Islington (bot)
149d70c254
[3.12] gh-108179: Add error message for parser stack overflows (GH-108256) (#108263)
gh-108179: Add error message for parser stack overflows (GH-108256)
(cherry picked from commit 86617518c4)

Co-authored-by: Dennis Sweeney <36520290+sweeneyde@users.noreply.github.com>
2023-08-22 12:02:32 +02:00
Erlend E. Aasland
ef4d427fd8
[3.12] gh-107801: Improve the accuracy of io.TextIOWrapper.seek docs (#107933) (#108262)
(cherry picked from commit 7f87ebbc3f)

Clearly document the supported seek() operations:

- Rewind to the start of the stream
- Restore a previous stream position (given by tell())
- Fast-forward to the end of the stream
2023-08-22 12:01:38 +02:00
Miss Islington (bot)
dd73f2f76a
[3.12] gh-106242: Make ntpath.realpath errors consistent with abspath when there are embedded nulls (GH-108248) (#108251)
gh-106242: Make ntpath.realpath errors consistent with abspath when there are embedded nulls (GH-108248)

* gh-106242: Make ntpath.realpath errors consistent with abspath when there are embedded nulls

* Update 2023-08-22-00-36-57.gh-issue-106242.q24ITw.rst

mention Windows and the former incorrect ValueError.

---------

(cherry picked from commit de33b5c662)

Co-authored-by: Steve Dower <steve.dower@python.org>
Co-authored-by: Gregory P. Smith <greg@krypto.org>
2023-08-22 12:01:24 +02:00
Miss Islington (bot)
b26a7b78c9
[3.12] Fix test_generators: save/restore warnings filters (GH-108246) (#108249)
Fix test_generators: save/restore warnings filters (GH-108246)

Previously, depending on existing filters, the test
could modify the warnings and so fail as "env changed".
(cherry picked from commit 531930f47f)

Co-authored-by: Victor Stinner <vstinner@python.org>
2023-08-22 12:00:07 +02:00
Serhiy Storchaka
47f60c3f67
[3.12] gh-107298: Fix C API datetime documentation (GH-108034). (#108234)
(cherry picked from commit d63972e289)
2023-08-21 21:44:45 +02:00
Miss Islington (bot)
f51cdfaaac
[3.12] gh-108224: Fix asyncio doc inconsistency (GH-108230) (#108231)
gh-108224: Fix asyncio doc inconsistency (GH-108230)

(Spawning subprocesses does not require the event loop to run in the main thread -- only signal handling does.)
(cherry picked from commit 1cc391d9e2)

Co-authored-by: temach <tematibr@gmail.com>
2023-08-21 21:44:08 +02:00
Miss Islington (bot)
78a2a8c026
[3.12] gh-107298: Fix references to deprecated and removed PyUnicode C API (GH-108077) (#108225)
gh-107298: Fix references to deprecated and removed PyUnicode C API (GH-108077)
(cherry picked from commit db55383829)

Co-authored-by: Serhiy Storchaka <storchaka@gmail.com>
2023-08-21 21:43:28 +02:00
Miss Islington (bot)
a27f18a382
[3.12] docs: fix grammar in isolating-extensions.rst (GH-108037) (#108218)
docs: fix grammar in isolating-extensions.rst (GH-108037)
(cherry picked from commit 47022a079e)

Co-authored-by: David Lechner <david@pybricks.com>
2023-08-21 21:40:08 +02:00
T. Wouters
bc97eb76bb
[3.12] Fix sphinx-lint issue now that lint runs on Misc/NEWS.d (#108237)
Fix lint warnings in Misc/NEWS.d/next/Library/2023-08-17-14-45-25.gh-issue-105736.NJsH7r.rst
(effectively a backport of GH-108212).
2023-08-21 19:39:45 +00:00
Miss Islington (bot)
f04024d588
[3.12] gh-107905: Test raising __value__ for TypeAliasType (GH-107997) (#108217)
gh-107905: Test raising `__value__` for `TypeAliasType` (GH-107997)
(cherry picked from commit 13104f3b74)

Co-authored-by: Nikita Sobolev <mail@sobolevn.me>
2023-08-21 21:18:42 +02:00
Hugo van Kemenade
90a22eae45
[3.12] Run sphinx-lint on Misc/NEWS.d/next/ (GH-108212) (#108213)
Run sphinx-lint on Misc/NEWS.d/next/
2023-08-21 15:32:33 +02:00
Miss Islington (bot)
a909ec399d
[3.12] gh-107845: Fix symlink handling for tarfile.data_filter (GH-107846) (#108211)
gh-107845: Fix symlink handling for tarfile.data_filter (GH-107846)

(cherry picked from commit acbd3f9c5c)

Co-authored-by: Petr Viktorin <encukou@gmail.com>
Co-authored-by: Victor Stinner <vstinner@python.org>
Co-authored-by: Lumír 'Frenzy' Balhar <frenzy.madness@gmail.com>
2023-08-21 15:31:40 +02:00
Miss Islington (bot)
e1b069fe06
[3.12] gh-107396: tarfiles: set self.exception before _init_read_gz() (GH-107485) (#108207)
gh-107396: tarfiles: set self.exception before _init_read_gz() (GH-107485)

In the stack call of: _init_read_gz()
```
_read, tarfile.py:548
read, tarfile.py:526
_init_read_gz, tarfile.py:491
```
a try;except exists that uses `self.exception`, so it needs to be set before
calling _init_read_gz().
(cherry picked from commit 37135d25e2)

Co-authored-by: balmeida-nokia <83089745+balmeida-nokia@users.noreply.github.com>
2023-08-21 14:35:18 +02:00
Miss Islington (bot)
238c8d236b
[3.12] gh-107916: Save the error code before decoding the filename in PyErr_SetFromErrnoWithFilename() etc (GH-107929) (#108205)
gh-107916: Save the error code before decoding the filename in PyErr_SetFromErrnoWithFilename() etc (GH-107929)
(cherry picked from commit 80bdebdd85)

Co-authored-by: Serhiy Storchaka <storchaka@gmail.com>
2023-08-21 14:33:46 +02:00
Miss Islington (bot)
1ce8b92ce9
[3.12] gh-105736: Sync pure python version of OrderedDict with the C version (GH-108098) (#108200)
gh-105736: Sync pure python version of OrderedDict with the C version (GH-108098)
(cherry picked from commit 20cc90c0df)

Co-authored-by: Raymond Hettinger <rhettinger@users.noreply.github.com>
2023-08-21 14:31:11 +02:00
Miss Islington (bot)
f798a6360b
[3.12] Improve references in the tutorial (GH-108069) (#108203)
Improve references in the tutorial (GH-108069)

* Use full qualified names for references (even if they do not work now,
  they will work in future).
* Silence references to examples.
(cherry picked from commit 622ddc4167)

Co-authored-by: Serhiy Storchaka <storchaka@gmail.com>
2023-08-21 13:20:21 +02:00
Miss Islington (bot)
639ffd5aa0
[3.12] gh-107895: Fix test_asyncio.test_runners when run it in CPython's "development mode" (GH-108168) (#108196)
gh-107895: Fix test_asyncio.test_runners when run it in CPython's "development mode" (GH-108168)
(cherry picked from commit 014a5b71e7)

Co-authored-by: Joon Hwan 김준환 <xncbf12@gmail.com>
2023-08-21 13:18:04 +02:00
Miss Islington (bot)
9cd15cab77
[3.12] Docs: document 'manager' and '_log' attrs of logging.Logging (GH-108145) (#108190)
Docs: document 'manager' and '_log' attrs of logging.Logging (GH-108145)
(cherry picked from commit f904aa4e1f)


Authored-by: Adam Turner <9087854+AA-Turner@users.noreply.github.com>

Co-authored-by: Erlend E. Aasland <erlend@python.org>
2023-08-21 13:16:53 +02:00