]> git.ipfire.org Git - thirdparty/Python/cpython.git/log
thirdparty/Python/cpython.git
2 years agoGH-110829: Ensure Thread.join() joins the OS thread (#110848)
Antoine Pitrou [Sat, 4 Nov 2023 13:59:24 +0000 (14:59 +0100)] 
GH-110829: Ensure Thread.join() joins the OS thread (#110848)

Joining a thread now ensures the underlying OS thread has exited. This is required for safer fork() in multi-threaded processes.

---------

Co-authored-by: blurb-it[bot] <43283697+blurb-it[bot]@users.noreply.github.com>
2 years agogh-111666: Speed up `BaseExceptionGroup.{derive,split,subgroup}` (#111667)
Nikita Sobolev [Sat, 4 Nov 2023 09:59:46 +0000 (12:59 +0300)] 
gh-111666: Speed up `BaseExceptionGroup.{derive,split,subgroup}` (#111667)

2 years agogh-108303: Move `zip` and `tar` archives to `Lib/test/archivetestdata` (#111549)
Nikita Sobolev [Sat, 4 Nov 2023 09:57:53 +0000 (12:57 +0300)] 
gh-108303: Move `zip` and `tar` archives to `Lib/test/archivetestdata` (#111549)

2 years agogh-111159: Fix `SyntaxError` doctests for non-builtin exception classes (#111541)
Nikita Sobolev [Sat, 4 Nov 2023 09:54:10 +0000 (12:54 +0300)] 
gh-111159: Fix `SyntaxError` doctests for non-builtin exception classes (#111541)

2 years agogh-111495: Test C API functions with extreme sizes and indices (GH-111631)
Serhiy Storchaka [Sat, 4 Nov 2023 09:40:46 +0000 (11:40 +0200)] 
gh-111495: Test C API functions with extreme sizes and indices (GH-111631)

2 years agogh-111724: Fix doctest `ResourceWarning` in `howto/descriptor.rst` (#111725)
Nikita Sobolev [Sat, 4 Nov 2023 09:22:19 +0000 (12:22 +0300)] 
gh-111724: Fix doctest `ResourceWarning` in `howto/descriptor.rst` (#111725)

Close database connection explicitly in test cleanup.

2 years agogh-111644: Fix asyncio test_unhandled_exceptions() (#111713)
Victor Stinner [Sat, 4 Nov 2023 00:47:07 +0000 (01:47 +0100)] 
gh-111644: Fix asyncio test_unhandled_exceptions() (#111713)

Fix test_unhandled_exceptions() of test_asyncio.test_streams: break
explicitly a reference cycle.

Fix also StreamTests.tearDown(): the loop must not be closed
explicitly, but using set_event_loop() which takes care of shutting
down the executor with executor.shutdown(wait=True).
BaseEventLoop.close() calls executor.shutdown(wait=False).

2 years agogh-111644: Fix support threading_cleanup() (#111714)
Victor Stinner [Sat, 4 Nov 2023 00:18:42 +0000 (01:18 +0100)] 
gh-111644: Fix support threading_cleanup() (#111714)

Copy the list of dangling threads to make sure that the list of
"Dangling thread" is complete. Previously, the list was incomplete if
threads completed just before the list was displayed.

Changes:

* Rewrite the warning to make it easier to understand.
* Use support.sleeping_retry().
* threading_cleanup() no longer copies threading._dangling,
  but only counts the number of dangling thread.
* Remove support.gc_support() call.

2 years agogh-109649: Fix test_os.test_process_cpu_count_affinity() (#111689)
Victor Stinner [Fri, 3 Nov 2023 23:53:18 +0000 (00:53 +0100)] 
gh-109649: Fix test_os.test_process_cpu_count_affinity() (#111689)

When CPUs are isolated on Linux, os.process_cpu_count() is smaller
than os.cpu_count(). Fix the test for this case.

Example with "isolcpus=5,11 rcu_nocbs=5,11" options passed to a Linux
command line to isolated two logical CPUs:

$ ./python -c 'import os; print(os.process_cpu_count(), "/", os.cpu_count())'
10 / 12

2 years agoAdd a fuzz target for `_elementtree.XMLParser._parse_whole` (#111477)
Brad Larsen [Fri, 3 Nov 2023 21:01:56 +0000 (17:01 -0400)] 
Add a fuzz target for `_elementtree.XMLParser._parse_whole` (#111477)

* Add a fuzzer for `_elementtree.XMLParser._parse_whole`

2 years agogh-111684: Avoid a Compiler Warning (gh-111706)
Eric Snow [Fri, 3 Nov 2023 19:37:10 +0000 (13:37 -0600)] 
gh-111684: Avoid a Compiler Warning (gh-111706)

2 years agogh-111506: Implement Py_SET_REFCNT() as opaque function in limited C API (#111508)
Victor Stinner [Fri, 3 Nov 2023 17:18:57 +0000 (18:18 +0100)] 
gh-111506: Implement Py_SET_REFCNT() as opaque function in limited C API (#111508)

In the limited C API version 3.13, Py_SET_REFCNT() function is now
implemented as an opaque function call.

Add _Py_SetRefcnt() to the stable ABI.

2 years agogh-103615: Use local events for opcode tracing (GH-109472)
Tian Gao [Fri, 3 Nov 2023 16:39:50 +0000 (09:39 -0700)] 
gh-103615: Use local events for opcode tracing (GH-109472)

* Use local monitoring for opcode trace

* Remove f_opcode_trace_set

* Add test for setting f_trace_opcodes after settrace

2 years agogh-111652: Fix --enable-pystats build (GH-111653)
Michael Droettboom [Fri, 3 Nov 2023 15:21:16 +0000 (11:21 -0400)] 
gh-111652: Fix --enable-pystats build (GH-111653)

2 years agoCI: Make macOS Intel required to succeed (GH-110362)
Hugo van Kemenade [Fri, 3 Nov 2023 15:13:15 +0000 (17:13 +0200)] 
CI: Make macOS Intel required to succeed (GH-110362)

2 years agodocs: specify that PyBytes_AsStringAndSize returns 0 on success (GH-110888)
lefp [Fri, 3 Nov 2023 13:51:28 +0000 (06:51 -0700)] 
docs: specify that PyBytes_AsStringAndSize returns 0 on success (GH-110888)

docs: specify return value on success

2 years agogh-111681: minor fixes to typing doctests; remove unused imports in `test_typing...
Nikita Sobolev [Fri, 3 Nov 2023 12:23:33 +0000 (15:23 +0300)] 
gh-111681: minor fixes to typing doctests; remove unused imports in `test_typing` (#111682)

Co-authored-by: Alex Waygood <Alex.Waygood@Gmail.com>
2 years agogh-106168: Revert the "size before item" setting (#111683)
scoder [Fri, 3 Nov 2023 11:02:39 +0000 (12:02 +0100)] 
gh-106168: Revert the "size before item" setting (#111683)

gh-106168: Update the size only after setting the item, to avoid temporary inconsistencies.
Also remove the "what's new" sentence regarding the size setting since tuples cannot grow after allocation.

2 years agogh-111354: Simplify _PyGen_yf by moving some of its work to the compiler and frame...
Irit Katriel [Fri, 3 Nov 2023 10:01:36 +0000 (10:01 +0000)] 
gh-111354: Simplify _PyGen_yf by moving some of its work to the compiler and frame state (#111648)

2 years agogh-90026: support XATTRs on Cygwin (GH-105075)
Philippe Cerfon [Fri, 3 Nov 2023 09:37:46 +0000 (10:37 +0100)] 
gh-90026: support XATTRs on Cygwin (GH-105075)

2 years agogh-111490: Make the exception type check in test_pyexpat more specific (GH-111491)
Nikita Sobolev [Fri, 3 Nov 2023 08:28:14 +0000 (11:28 +0300)] 
gh-111490: Make the exception type check in test_pyexpat more specific (GH-111491)

2 years agogh-108082: Remove _PyErr_WriteUnraisableMsg() (GH-111643)
Serhiy Storchaka [Fri, 3 Nov 2023 07:45:53 +0000 (09:45 +0200)] 
gh-108082: Remove _PyErr_WriteUnraisableMsg() (GH-111643)

Replace the remaining calls with PyErr_FormatUnraisable().

2 years agogh-54434: Make difflib.rst doctests pass. (#111677)
Terry Jan Reedy [Fri, 3 Nov 2023 06:20:39 +0000 (02:20 -0400)] 
gh-54434: Make difflib.rst doctests pass. (#111677)

2 years agogh-111654: remove redundant decref in LOAD_FROM_DICT_OR_DEREF (#111655)
AN Long [Fri, 3 Nov 2023 04:06:51 +0000 (12:06 +0800)] 
gh-111654: remove redundant decref in LOAD_FROM_DICT_OR_DEREF (#111655)

2 years agogh-76785: Minor Fixes in crossinterp.c (gh-111671)
Eric Snow [Fri, 3 Nov 2023 00:45:42 +0000 (18:45 -0600)] 
gh-76785: Minor Fixes in crossinterp.c (gh-111671)

There were a few corner cases I didn't handle properly in gh-111530, which I've noticed while working on a follow-up PR.  This fixes those cases.

2 years agoFix typo in documentation of `SysLogHandler.createSocket` (#111665)
LoipesMas [Thu, 2 Nov 2023 22:47:43 +0000 (23:47 +0100)] 
Fix typo in documentation of `SysLogHandler.createSocket` (#111665)

2 years agogh-111663: Restore the Tier 2 uop count pystats (#111664)
Michael Droettboom [Thu, 2 Nov 2023 22:24:52 +0000 (18:24 -0400)] 
gh-111663: Restore the Tier 2 uop count pystats (#111664)

2 years agogh-110892: Return NULL for `PyTrace_RETURN` events caused by an exception (GH-110909)
Tian Gao [Thu, 2 Nov 2023 16:38:08 +0000 (09:38 -0700)] 
gh-110892: Return NULL for `PyTrace_RETURN` events caused by an exception (GH-110909)

2 years agoGH-109369 Add vectorcall to `PyLong_Type` (GH-111642)
Mark Shannon [Thu, 2 Nov 2023 15:07:47 +0000 (15:07 +0000)] 
GH-109369 Add vectorcall to `PyLong_Type` (GH-111642)

2 years agogh-111482: Use Argument Clinic for clock_gettime() (#111641)
Victor Stinner [Thu, 2 Nov 2023 13:29:05 +0000 (14:29 +0100)] 
gh-111482: Use Argument Clinic for clock_gettime() (#111641)

Use Argument Clinic for time.clock_gettime() and
time.clock_gettime_ns() functions.

Benchmark on time.clock_gettime_ns():

    import time
    import pyperf
    runner = pyperf.Runner()
    runner.timeit(
        'clock_gettime_ns(CLOCK_MONOTONIC_COARSE)',
        setup='import time; clock_gettime_ns=time.clock_gettime_ns; CLOCK_MONOTONIC_COARSE=6',
        stmt='clock_gettime_ns(CLOCK_MONOTONIC_COARSE)')

Result on Linux with CPU isolation:

Mean +- std dev: [ref] 134 ns +- 1 ns -> [change] 55.7 ns +- 1.4 ns: 2.41x faster

2 years agogh-111625: Fix link to Info-ZIP homepage (#111626)
partev [Thu, 2 Nov 2023 11:10:30 +0000 (07:10 -0400)] 
gh-111625: Fix link to Info-ZIP homepage (#111626)

2 years agobuild(deps): bump hypothesis from 6.87.1 to 6.88.1 in /Tools (#111596)
dependabot[bot] [Thu, 2 Nov 2023 10:53:40 +0000 (10:53 +0000)] 
build(deps): bump hypothesis from 6.87.1 to 6.88.1 in /Tools (#111596)

Bumps [hypothesis](https://github.com/HypothesisWorks/hypothesis) from 6.87.1 to 6.88.1.
- [Release notes](https://github.com/HypothesisWorks/hypothesis/releases)
- [Commits](https://github.com/HypothesisWorks/hypothesis/compare/hypothesis-python-6.87.1...hypothesis-python-6.88.1)

---
updated-dependencies:
- dependency-name: hypothesis
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2 years agobuild(deps): bump actions/setup-node from 3 to 4 (#111594)
dependabot[bot] [Thu, 2 Nov 2023 10:49:01 +0000 (11:49 +0100)] 
build(deps): bump actions/setup-node from 3 to 4 (#111594)

* build(deps): bump actions/setup-node from 3 to 4

Bumps [actions/setup-node](https://github.com/actions/setup-node) from 3 to 4.
- [Release notes](https://github.com/actions/setup-node/releases)
- [Commits](https://github.com/actions/setup-node/compare/v3...v4)

---
updated-dependencies:
- dependency-name: actions/setup-node
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
* Bump to Node.js 20

Co-authored-by: Ezio Melotti <ezio.melotti@gmail.com>
---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Hugo van Kemenade <hugovk@users.noreply.github.com>
Co-authored-by: Ezio Melotti <ezio.melotti@gmail.com>
2 years agogh-111354: simplify detection of RESUME after YIELD_VALUE at except-depth 1 (#111459)
Irit Katriel [Thu, 2 Nov 2023 10:18:43 +0000 (10:18 +0000)] 
gh-111354: simplify detection of RESUME after YIELD_VALUE at except-depth 1  (#111459)

2 years agogh-108082: Use PyErr_FormatUnraisable() (GH-111580)
Serhiy Storchaka [Thu, 2 Nov 2023 09:16:34 +0000 (11:16 +0200)] 
gh-108082: Use PyErr_FormatUnraisable() (GH-111580)

Replace most of calls of _PyErr_WriteUnraisableMsg() and some
calls of PyErr_WriteUnraisable(NULL) with PyErr_FormatUnraisable().

Co-authored-by: Victor Stinner <vstinner@python.org>
2 years agoRemove unnecessary includes (GH-111633)
Serhiy Storchaka [Thu, 2 Nov 2023 08:42:58 +0000 (10:42 +0200)] 
Remove unnecessary includes (GH-111633)

2 years agoGH-110894: Call loop exception handler for exceptions in client_connected_cb (#111601)
Kumar Aditya [Thu, 2 Nov 2023 07:38:18 +0000 (13:08 +0530)] 
GH-110894: Call loop exception handler for exceptions in client_connected_cb (#111601)

Call loop exception handler for exceptions in `client_connected_cb` of `asyncio.start_server` so that applications can handle it.

2 years agogh-111544: Fix mimalloc build on AIX (#111593)
Ayappan Perumal [Thu, 2 Nov 2023 07:01:50 +0000 (12:31 +0530)] 
gh-111544: Fix mimalloc build on AIX (#111593)

2 years agoGH-111435: Add Support for Sharing True and False Between Interpreters (gh-111436)
Anthony Shaw [Thu, 2 Nov 2023 00:09:01 +0000 (09:09 +0900)] 
GH-111435: Add Support for Sharing True and False Between Interpreters (gh-111436)

This only affects users of the APIs in pycore_crossinterp.h (AKA _xxsubinterpretersmodule.c and _xxinterpchannels.c).

2 years agogh-76785: Crossinterp utils additions (gh-111530)
Eric Snow [Wed, 1 Nov 2023 23:36:40 +0000 (17:36 -0600)] 
gh-76785: Crossinterp utils additions (gh-111530)

This moves several general internal APIs out of _xxsubinterpretersmodule.c and into the new Python/crossinterp.c (and the corresponding internal headers).

Specifically:

* _Py_excinfo, etc.:  the initial implementation for non-object exception snapshots (in pycore_pyerrors.h and Python/errors.c)
* _PyXI_exception_info, etc.:  helpers for passing an exception beween interpreters (wraps _Py_excinfo)
* _PyXI_namespace, etc.:  helpers for copying a dict of attrs between interpreters
* _PyXI_Enter(), _PyXI_Exit():  functions that abstract out the transitions between one interpreter and a second that will do some work temporarily

Again, these were all abstracted out of _xxsubinterpretersmodule.c as generalizations.  I plan on proposing these as public API at some point.

2 years agogh-111089: Use PyUnicode_AsUTF8() in getargs.c (#111620)
Victor Stinner [Wed, 1 Nov 2023 23:13:55 +0000 (00:13 +0100)] 
gh-111089: Use PyUnicode_AsUTF8() in getargs.c (#111620)

Replace PyUnicode_AsUTF8AndSize() with PyUnicode_AsUTF8() to remove
the explicit check for embedded null characters.

2 years agoHigh level docs for the VM state (#111621)
Guido van Rossum [Wed, 1 Nov 2023 22:55:10 +0000 (15:55 -0700)] 
High level docs for the VM state (#111621)

2 years agoGH-111485: Silence warnings in Python/executor_cases.c.h (#111619)
Guido van Rossum [Wed, 1 Nov 2023 21:24:52 +0000 (14:24 -0700)] 
GH-111485: Silence warnings in Python/executor_cases.c.h (#111619)

2 years agogh-106718: Treat PyConfig.stdlib_dir as highest-priority setting for stdlib_dir when...
Yilei Yang [Wed, 1 Nov 2023 21:11:18 +0000 (14:11 -0700)] 
gh-106718: Treat PyConfig.stdlib_dir as highest-priority setting for stdlib_dir when calculating paths (GH-108730)

2 years agogh-106168: Update PyList_SET_ITEM() What's New doc (#111618)
Victor Stinner [Wed, 1 Nov 2023 20:46:10 +0000 (21:46 +0100)] 
gh-106168: Update PyList_SET_ITEM() What's New doc (#111618)

2 years agogh-111374: Add a new PYTHON_FROZEN_MODULES env var, equivalent of `-X frozen_modules...
Yilei Yang [Wed, 1 Nov 2023 20:39:31 +0000 (13:39 -0700)] 
gh-111374: Add a new PYTHON_FROZEN_MODULES env var, equivalent of `-X frozen_modules`. (#111411)

Adds a new PYTHON_FROZEN_MODULES env var to correspond with -X frozen_modules.

Co-authored-by: Hugo van Kemenade <hugovk@users.noreply.github.com>
2 years agogh-111520: Integrate the Tier 2 interpreter in the Tier 1 interpreter (#111428)
Guido van Rossum [Wed, 1 Nov 2023 20:13:02 +0000 (13:13 -0700)] 
gh-111520: Integrate the Tier 2 interpreter in the Tier 1 interpreter (#111428)

- There is no longer a separate Python/executor.c file.
- Conventions in Python/bytecodes.c are slightly different -- don't use `goto error`,
  you must use `GOTO_ERROR(error)` (same for others like `unused_local_error`).
- The `TIER_ONE` and `TIER_TWO` symbols are only valid in the generated (.c.h) files.
- In Lib/test/support/__init__.py, `Py_C_RECURSION_LIMIT` is imported from `_testcapi`.
- On Windows, in debug mode, stack allocation grows from 8MiB to 12MiB.
- **Beware!** This changes the env vars to enable uops and their debugging
  to `PYTHON_UOPS` and `PYTHON_LLTRACE`.

2 years agoSimplify trivial calls of PyUnicode_FromFormat() (GH-111605)
Serhiy Storchaka [Wed, 1 Nov 2023 17:54:32 +0000 (19:54 +0200)] 
Simplify trivial calls of PyUnicode_FromFormat() (GH-111605)

2 years agogh-111089: Use PyUnicode_AsUTF8() in Argument Clinic (#111585)
Victor Stinner [Wed, 1 Nov 2023 15:34:42 +0000 (16:34 +0100)] 
gh-111089: Use PyUnicode_AsUTF8() in Argument Clinic (#111585)

Replace PyUnicode_AsUTF8AndSize() with PyUnicode_AsUTF8() to remove
the explicit check for embedded null characters.

The change avoids to have to include explicitly <string.h> to get the
strlen() function when using a recent version of the limited C API.

2 years agogh-111495: Add tests for PyBytes and PyByteArray C API (GH-111496)
Serhiy Storchaka [Wed, 1 Nov 2023 15:31:07 +0000 (17:31 +0200)] 
gh-111495: Add tests for PyBytes and PyByteArray C API (GH-111496)

2 years agoSimplify _PyPegen_join_names_with_dot() (GH-111602)
Serhiy Storchaka [Wed, 1 Nov 2023 14:25:36 +0000 (16:25 +0200)] 
Simplify _PyPegen_join_names_with_dot() (GH-111602)

2 years agoGH-111537: Avoid using `this_instr` in asserts. (GH-111600)
Mark Shannon [Wed, 1 Nov 2023 12:59:08 +0000 (12:59 +0000)] 
GH-111537: Avoid using `this_instr` in asserts. (GH-111600)

2 years agoGH-111485: Use micro-ops to split specialization code from base action (GH-111561)
Mark Shannon [Wed, 1 Nov 2023 10:53:27 +0000 (10:53 +0000)] 
GH-111485: Use micro-ops to split specialization code from base action (GH-111561)

2 years agogh-111576: Improve documention for tkinter.messagebox (GH-111578)
Serhiy Storchaka [Wed, 1 Nov 2023 10:27:02 +0000 (12:27 +0200)] 
gh-111576: Improve documention for tkinter.messagebox (GH-111578)

2 years agogh-111495: add stub files for C API test modules (GH-111586)
Sergey B Kirpichev [Wed, 1 Nov 2023 05:44:54 +0000 (08:44 +0300)] 
gh-111495: add stub files for C API test modules (GH-111586)

This is to reduce merge conflicts (Modules/Setup.stdlib.in) for
subsequent pull requests for the issue.

2 years agogh-110367: Make regrtest --verbose3 compatible with --huntrleaks -jN (#111577)
Victor Stinner [Wed, 1 Nov 2023 03:28:55 +0000 (04:28 +0100)] 
gh-110367: Make regrtest --verbose3 compatible with --huntrleaks -jN (#111577)

"./python -m test -j1 -R 3:3 --verbose3" now works as expected, since
run_single_test() does not replace sys.stdout with StringIO in this
case.

2 years agogh-110968: Py_MOD_PER_INTERPRETER_GIL_SUPPORTED was added to 3.12 (#111584)
Victor Stinner [Wed, 1 Nov 2023 03:24:33 +0000 (04:24 +0100)] 
gh-110968: Py_MOD_PER_INTERPRETER_GIL_SUPPORTED was added to 3.12 (#111584)

2 years agogh-111282: Fix NamedTemporaryFile example code (GH-111283)
Krzysiek Karbowiak [Tue, 31 Oct 2023 22:06:02 +0000 (23:06 +0100)] 
gh-111282: Fix NamedTemporaryFile example code (GH-111283)

2 years agogh-110774: allow setting the Runner(loop_factory=...) from IsolatedAsyncioTestCase...
Thomas Grainger [Tue, 31 Oct 2023 22:03:54 +0000 (15:03 -0700)] 
gh-110774: allow setting the Runner(loop_factory=...) from IsolatedAsyncioTestCase (#110776)

Co-authored-by: Ɓukasz Langa <lukasz@langa.pl>
Co-authored-by: Carol Willing <carolcode@willingconsulting.com>
2 years agogh-108082: Add PyErr_FormatUnraisable() function (GH-111086)
Serhiy Storchaka [Tue, 31 Oct 2023 21:42:44 +0000 (23:42 +0200)] 
gh-108082: Add PyErr_FormatUnraisable() function (GH-111086)

2 years agogh-111420: Allow type comments in parenthesized `with` statements (#111468)
Tomas R [Tue, 31 Oct 2023 21:02:42 +0000 (22:02 +0100)] 
gh-111420: Allow type comments in parenthesized `with` statements (#111468)

2 years agogh-108765: Python.h no longer includes <stddef.h> on Windows (#111563)
Victor Stinner [Tue, 31 Oct 2023 20:53:57 +0000 (21:53 +0100)] 
gh-108765: Python.h no longer includes <stddef.h> on Windows (#111563)

In practice, only Windows is impacted, because the HAVE_STDDEF_H
macro was only defined on Windows.

2 years agogh-90815: Exclude mimalloc .c files from Windows build (#111532)
Dino Viehland [Tue, 31 Oct 2023 18:54:35 +0000 (11:54 -0700)] 
gh-90815: Exclude mimalloc .c files from Windows build (#111532)

* Don't include mimalloc .c's in Windows build
* Fix warnings on Windows related to mimalloc

2 years agogh-102249: Expand sys.call_tracing documentation (#102806)
Quentin Peter [Tue, 31 Oct 2023 16:24:54 +0000 (17:24 +0100)] 
gh-102249: Expand sys.call_tracing documentation (#102806)

Co-authored-by: C.A.M. Gerlach <CAM.Gerlach@Gerlach.CAM>
2 years agogh-93607: document `root` attribute of `iterparse` (#99410)
Prometheus3375 [Tue, 31 Oct 2023 16:16:55 +0000 (19:16 +0300)] 
gh-93607: document `root` attribute of `iterparse` (#99410)

Co-authored-by: Stanley <46876382+slateny@users.noreply.github.com>
Co-authored-by: Hugo van Kemenade <hugovk@users.noreply.github.com>
2 years agogh-106861: Docs: Add availability directives to all Unix-only modules (#108975)
xzmeng [Tue, 31 Oct 2023 16:14:27 +0000 (00:14 +0800)] 
gh-106861: Docs: Add availability directives to all Unix-only modules (#108975)

2 years agogh-111062: CI: Rename reusable-build-[X].yml to reusable-[X].yml (#111552)
Hugo van Kemenade [Tue, 31 Oct 2023 15:55:17 +0000 (17:55 +0200)] 
gh-111062: CI: Rename reusable-build-[X].yml to reusable-[X].yml (#111552)

2 years agogh-109181: Speed up Traceback object creation by lazily compute the line number ...
Pablo Galindo Salgado [Tue, 31 Oct 2023 15:02:31 +0000 (15:02 +0000)] 
gh-109181: Speed up Traceback object creation by lazily compute the line number (#111548)

Signed-off-by: Pablo Galindo <pablogsal@gmail.com>
2 years agoGH-111438: Add Support for Sharing Floats Between Interpreters (gh-111439)
Anthony Shaw [Tue, 31 Oct 2023 14:17:20 +0000 (23:17 +0900)] 
GH-111438: Add Support for Sharing Floats Between Interpreters (gh-111439)

This only affects users of the APIs in pycore_crossinterp.h (AKA _xxsubinterpretersmodule.c and _xxinterpchannels.c).

2 years agoGH-111485: Remove some special cases from the code generator and bytecodes.c (GH...
Mark Shannon [Tue, 31 Oct 2023 13:21:07 +0000 (13:21 +0000)] 
GH-111485: Remove some special cases from the code generator and bytecodes.c (GH-111540)

2 years agoGH-111485: Increment `next_instr` consistently at the start of the instruction. ...
Mark Shannon [Tue, 31 Oct 2023 10:09:54 +0000 (10:09 +0000)] 
GH-111485: Increment `next_instr` consistently at the start of the instruction. (GH-111486)

2 years agogh-111531: Tkinter: fix reference leaks in bind_class() and bind_all() (GH-111533)
Serhiy Storchaka [Tue, 31 Oct 2023 06:48:52 +0000 (08:48 +0200)] 
gh-111531: Tkinter: fix reference leaks in bind_class() and bind_all() (GH-111533)

2 years agogh-111301: Move importlib.resources changes to the Removed section (#111509)
Karolina Surma [Tue, 31 Oct 2023 06:46:20 +0000 (07:46 +0100)] 
gh-111301: Move importlib.resources changes to the Removed section (#111509)

2 years agogh-111301: Move `importlib.resources.files` change to What's new in Python 3.12 ...
Karolina Surma [Tue, 31 Oct 2023 06:01:00 +0000 (07:01 +0100)] 
gh-111301: Move `importlib.resources.files` change to What's new in Python 3.12 (#111512)

2 years agogh-111062 CI: Update skip lists for resuable workflows (#111521)
Hugo van Kemenade [Tue, 31 Oct 2023 05:49:15 +0000 (07:49 +0200)] 
gh-111062 CI: Update skip lists for resuable workflows (#111521)

CI: Update skip lists

2 years agogh-111277: In summarize_stats.py, don't fail fast on invalid ratios (#111278)
Michael Droettboom [Tue, 31 Oct 2023 00:10:07 +0000 (20:10 -0400)] 
gh-111277: In summarize_stats.py, don't fail fast on invalid ratios (#111278)

2 years agogh-109329: Count tier2 opcode misses (#110561)
Michael Droettboom [Tue, 31 Oct 2023 00:02:45 +0000 (20:02 -0400)] 
gh-109329: Count tier2 opcode misses (#110561)

This keeps a separate 'miss' counter for each micro-opcode, incremented whenever a guard uop takes a deoptimization side exit.

2 years agogh-76785: Move the Cross-Interpreter Code to Its Own File (gh-111502)
Eric Snow [Mon, 30 Oct 2023 22:53:10 +0000 (16:53 -0600)] 
gh-76785: Move the Cross-Interpreter Code to Its Own File (gh-111502)

This is partly to clear this stuff out of pystate.c, but also in preparation for moving some code out of _xxsubinterpretersmodule.c.  This change also moves this stuff to the internal API (new: Include/internal/pycore_crossinterp.h).  @vstinner did this previously and I undid it.  Now I'm re-doing it. :/

2 years agogh-110697: Use CLOCK_RES in test_os.TimerfdTests (#111529)
Victor Stinner [Mon, 30 Oct 2023 22:47:59 +0000 (23:47 +0100)] 
gh-110697: Use CLOCK_RES in test_os.TimerfdTests (#111529)

More TimerfdTests tests tolerate a difference of 1 ms in measured
elapsed time.

2 years agogh-90815: Fix mimalloc atomic.h on Windows arm64 (#111527)
Victor Stinner [Mon, 30 Oct 2023 22:33:49 +0000 (23:33 +0100)] 
gh-90815: Fix mimalloc atomic.h on Windows arm64 (#111527)

mi_atomic_load_explicit() casts 'p' argument to drop the 'const'
qualifier on Windows arm64 platform. Fix the compiler warning:

    'function': different 'const' qualifiers
    (compiling source file ..\Objects\mimalloc\options.c)

2 years agogh-90815: Fix mimalloc build on WASI (#111524)
Victor Stinner [Mon, 30 Oct 2023 22:10:22 +0000 (23:10 +0100)] 
gh-90815: Fix mimalloc build on WASI (#111524)

Include <unistd.h> to get sbrk() function.

2 years agogh-90815: Fix _PyMem_MimallocEnabled() compiler warning (#111522)
Victor Stinner [Mon, 30 Oct 2023 22:05:49 +0000 (23:05 +0100)] 
gh-90815: Fix _PyMem_MimallocEnabled() compiler warning (#111522)

Don't declare _PyMem_MimallocEnabled() if WITH_PYMALLOC macro is not
defined (./configure --without-pymalloc).

Fix also a typo in _PyInterpreterState_FinalizeAllocatedBlocks().

2 years agoRemove myself from typing CODEOWNERS (#111523)
Ken Jin [Mon, 30 Oct 2023 21:08:26 +0000 (05:08 +0800)] 
Remove myself from typing CODEOWNERS (#111523)

2 years agogh-111181: Fix enum doctests (GH-111180)
Nikita Sobolev [Mon, 30 Oct 2023 19:56:29 +0000 (22:56 +0300)] 
gh-111181: Fix enum doctests (GH-111180)

Co-authored-by: Ethan Furman <ethan@stoneleaf.us>
2 years agogh-111366: Correctly show custom syntax error messages in the codeop module functions...
Pablo Galindo Salgado [Mon, 30 Oct 2023 19:24:21 +0000 (19:24 +0000)] 
gh-111366: Correctly show custom syntax error messages in the codeop module functions (#111384)

2 years agogh-111284: Make multiprocessing tests with threads faster and more reliable (GH-111285)
Serhiy Storchaka [Mon, 30 Oct 2023 17:18:36 +0000 (19:18 +0200)] 
gh-111284: Make multiprocessing tests with threads faster and more reliable (GH-111285)

2 years agogh-110481: Fix _Py_ThreadId for non-free-threaded mode (gh-111503)
Donghee Na [Mon, 30 Oct 2023 17:16:18 +0000 (02:16 +0900)] 
gh-110481: Fix _Py_ThreadId for non-free-threaded mode (gh-111503)

2 years agogh-108082: C API: Add tests for PyErr_WriteUnraisable() (GH-111455)
Serhiy Storchaka [Mon, 30 Oct 2023 17:01:03 +0000 (19:01 +0200)] 
gh-108082: C API: Add tests for PyErr_WriteUnraisable() (GH-111455)

Also document the behavior when called with NULL.

2 years agogh-109515: When generating deep frozen modules on Windows, use a list file instead...
Riccardo Ghetta [Mon, 30 Oct 2023 16:14:26 +0000 (17:14 +0100)] 
gh-109515: When generating deep frozen modules on Windows, use a list file instead of arguments (GH-109516)

2 years agogh-110481: Implement biased reference counting (gh-110764)
Sam Gross [Mon, 30 Oct 2023 16:06:09 +0000 (12:06 -0400)] 
gh-110481: Implement biased reference counting (gh-110764)

2 years agogh-90815: Add mimalloc memory allocator (#109914)
Dino Viehland [Mon, 30 Oct 2023 15:43:11 +0000 (08:43 -0700)] 
gh-90815: Add mimalloc memory allocator (#109914)

* Add mimalloc v2.12

Modified src/alloc.c to remove include of alloc-override.c and not
compile new handler.

Did not include the following files:

 - include/mimalloc-new-delete.h
 - include/mimalloc-override.h
 - src/alloc-override-osx.c
 - src/alloc-override.c
 - src/static.c
 - src/region.c

mimalloc is thread safe and shares a single heap across all runtimes,
therefore finalization and getting global allocated blocks across all
runtimes is different.

* mimalloc: minimal changes for use in Python:

 - remove debug spam for freeing large allocations
 - use same bytes (0xDD) for freed allocations in CPython and mimalloc
   This is important for the test_capi debug memory tests

* Don't export mimalloc symbol in libpython.
* Enable mimalloc as Python allocator option.
* Add mimalloc MIT license.
* Log mimalloc in Lib/test/pythoninfo.py.
* Document new mimalloc support.
* Use macro defs for exports as done in:
  https://github.com/python/cpython/pull/31164/

Co-authored-by: Sam Gross <colesbury@gmail.com>
Co-authored-by: Christian Heimes <christian@python.org>
Co-authored-by: Victor Stinner <vstinner@python.org>
2 years agogh-111062: Reusable Windows build that supports free-threaded mode as the conditional...
Donghee Na [Mon, 30 Oct 2023 15:30:40 +0000 (00:30 +0900)] 
gh-111062: Reusable Windows build that supports free-threaded mode as the conditional CI (#111493)

* gh-111062 Set up free-threaded CI for windows

Co-authored-by: Donghee Na <donghee.na@python.org>
* Apply suggestions from code review

Co-authored-by: Hugo van Kemenade <hugovk@users.noreply.github.com>
* Update

* Update names

* Add files

* Update

* Revert "Update"

This reverts commit 4f17e1af0dbce3b7959b93b41baaf040dee790cc.

* fix

---------

Co-authored-by: juanjose.tenorio <juanjose2611@gmail.com>
Co-authored-by: Hugo van Kemenade <hugovk@users.noreply.github.com>
2 years agogh-111062: Update name of reusable workflows for Ubuntu / macOS (gh-111494)
Donghee Na [Mon, 30 Oct 2023 15:15:22 +0000 (00:15 +0900)] 
gh-111062: Update name of reusable workflows for Ubuntu / macOS (gh-111494)

gh-111062 Update name of reusable workflows for linux / macOS

2 years agogh-111062: Reusable ubuntu build that supports free-threaded mode as the conditional...
NCLI [Mon, 30 Oct 2023 14:28:16 +0000 (23:28 +0900)] 
gh-111062: Reusable ubuntu build that supports free-threaded mode as the conditional CI (#111452)

Co-authored-by: Donghee Na <donghee.na92@gmail.com>
2 years agogh-106168: Check allocated instead of size index bounds in PyList_SET_ITEM() (#111480)
scoder [Mon, 30 Oct 2023 11:24:21 +0000 (12:24 +0100)] 
gh-106168: Check allocated instead of size index bounds in PyList_SET_ITEM() (#111480)

Check the index bound assertions in PyList_SET_ITEM() against [0:allocated] instead of [0:size] to re-allow valid use cases that assign within the allocated area.

2 years agoGH-111339: Fix initialization and finalization of static optimizer types (GH-111430)
Savannah Ostrowski [Sun, 29 Oct 2023 20:53:25 +0000 (13:53 -0700)] 
GH-111339: Fix initialization and finalization of static optimizer types (GH-111430)

2 years agogh-111165: Remove documentation for moved functions (GH-111467)
Serhiy Storchaka [Sun, 29 Oct 2023 19:34:22 +0000 (21:34 +0200)] 
gh-111165: Remove documentation for moved functions (GH-111467)

2 years agogh-101100: Fix sphinx warnings in `library/asyncio-eventloop.rst` (GH-111222)
Nikita Sobolev [Sun, 29 Oct 2023 19:31:01 +0000 (22:31 +0300)] 
gh-101100: Fix sphinx warnings in `library/asyncio-eventloop.rst` (GH-111222)

* gh-101100: Fix sphinx warnings in `library/asyncio-eventloop.rst`

* Update Doc/library/socket.rst

Co-authored-by: Hugo van Kemenade <hugovk@users.noreply.github.com>
* Update asyncio-eventloop.rst

* Update socket.rst

---------

Co-authored-by: Hugo van Kemenade <hugovk@users.noreply.github.com>
2 years agogh-111347: Remove wrong assertion in test_sendfile (#111377)
zcxsythenew [Sun, 29 Oct 2023 15:22:15 +0000 (23:22 +0800)] 
gh-111347: Remove wrong assertion in test_sendfile (#111377)

Windows is different.

2 years agogh-111062: Build both default and free-threaded on macOS (gh-111449)
Dima Tisnek [Sun, 29 Oct 2023 07:20:11 +0000 (16:20 +0900)] 
gh-111062: Build both default and free-threaded on macOS (gh-111449)