[3.11] Fix v3.11.0 release merge problems (GH-98622)

When merging the v3.11.0 tag into 3.11, some files were incorrectly updated and some others were not properly deleted.

Automerge-Triggered-By: GH:pablogsal
This commit is contained in:
Pablo Galindo Salgado 2022-10-25 00:30:06 +01:00 committed by GitHub
parent 3a1eb81abf
commit b3cafb60af
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
26 changed files with 2 additions and 155 deletions

View file

@ -129,19 +129,6 @@ You can deactivate a virtual environment by typing ``deactivate`` in your shell.
The exact mechanism is platform-specific and is an internal implementation
detail (typically, a script or shell function will be used).
.. warning:: Because scripts installed in environments should not expect the
environment to be activated, their shebang lines contain the absolute paths
to their environment's interpreters. Because of this, environments are
inherently non-portable, in the general case. You should always have a
simple means of recreating an environment (for example, if you have a
requirements file ``requirements.txt``, you can invoke ``pip install -r
requirements.txt`` using the environment's ``pip`` to install all of the
packages needed by the environment). If for any reason you need to move the
environment to a new location, you should recreate it at the desired
location and delete the one at the old location. If you move an environment
because you moved a parent directory of it, you should recreate the
environment in its new location. Otherwise, software installed into the
environment may not work as expected.
.. _venv-api:

View file

@ -4,6 +4,7 @@
:Release: |release|
:Date: |today|
:Editor: Pablo Galindo Salgado
.. Rules for maintenance:
@ -1590,10 +1591,6 @@ Changed/removed opcodes
:opcode:`!POP_BLOCK`, :opcode:`!SETUP_FINALLY` and :opcode:`!YIELD_FROM`.
.. _whatsnew311-deprecated:
.. _whatsnew311-python-api-deprecated:
.. _whatsnew311-deprecated:
.. _whatsnew311-python-api-deprecated:
@ -1769,9 +1766,6 @@ Standard Library
(Contributed by Erlend E. Aasland in :issue:`5846`.)
.. _whatsnew311-pending-removal:
.. _whatsnew311-python-api-pending-removal:
.. _whatsnew311-pending-removal:
.. _whatsnew311-python-api-pending-removal:

View file

@ -23,7 +23,7 @@
#define PY_RELEASE_SERIAL 0
/* Version as a string */
#define PY_VERSION "3.11.0rc2+"
#define PY_VERSION "3.11.0+"
/*--end constants--*/
/* Version as a single 4-byte hex number, e.g. 0x010502B2 == 1.5.2b2.

View file

@ -326,69 +326,5 @@ def f():
gc.enable()
@support.cpython_only
def test_sneaky_frame_object(self):
def trace(frame, event, arg):
"""
Don't actually do anything, just force a frame object to be created.
"""
def callback(phase, info):
"""
Yo dawg, I heard you like frames, so I'm allocating a frame while
you're allocating a frame, so you can have a frame while you have a
frame!
"""
nonlocal sneaky_frame_object
sneaky_frame_object = sys._getframe().f_back
# We're done here:
gc.callbacks.remove(callback)
def f():
while True:
yield
old_threshold = gc.get_threshold()
old_callbacks = gc.callbacks[:]
old_enabled = gc.isenabled()
old_trace = sys.gettrace()
try:
# Stop the GC for a second while we set things up:
gc.disable()
# Create a paused generator:
g = f()
next(g)
# Move all objects to the oldest generation, and tell the GC to run
# on the *very next* allocation:
gc.collect()
gc.set_threshold(1, 0, 0)
# Okay, so here's the nightmare scenario:
# - We're tracing the resumption of a generator, which creates a new
# frame object.
# - The allocation of this frame object triggers a collection
# *before* the frame object is actually created.
# - During the collection, we request the exact same frame object.
# This test does it with a GC callback, but in real code it would
# likely be a trace function, weakref callback, or finalizer.
# - The collection finishes, and the original frame object is
# created. We now have two frame objects fighting over ownership
# of the same interpreter frame!
sys.settrace(trace)
gc.callbacks.append(callback)
sneaky_frame_object = None
gc.enable()
next(g)
# g.gi_frame should be the the frame object from the callback (the
# one that was *requested* second, but *created* first):
self.assertIs(g.gi_frame, sneaky_frame_object)
finally:
gc.set_threshold(*old_threshold)
gc.callbacks[:] = old_callbacks
sys.settrace(old_trace)
if old_enabled:
gc.enable()
if __name__ == "__main__":
unittest.main()

View file

@ -1,2 +0,0 @@
Ensure that Windows releases built with ``Tools\msi\buildrelease.bat`` are
upgradable to and from official Python releases.

View file

@ -1 +0,0 @@
Document some places where an assignment expression needs parentheses.

View file

@ -1,2 +0,0 @@
Correctly raise ``SyntaxError`` on exception groups (:pep:`654`) on python
versions prior to 3.11

View file

@ -1,3 +0,0 @@
When :exc:`ValueError` is raised if an integer is larger than the limit,
mention the :func:`sys.set_int_max_str_digits` function in the error message.
Patch by Victor Stinner.

View file

@ -1 +0,0 @@
Fix undefined behaviour in ``_testcapimodule.c``.

View file

@ -1,3 +0,0 @@
Fix command line parsing: reject :option:`-X int_max_str_digits <-X>` option
with no value (invalid) when the :envvar:`PYTHONINTMAXSTRDIGITS` environment
variable is set to a valid limit. Patch by Victor Stinner.

View file

@ -1,2 +0,0 @@
Fix a crash occurring when :c:func:`PyEval_GetFrame` is called while the
topmost Python frame is in a partially-initialized state.

View file

@ -1,2 +0,0 @@
Fix possible data corruption or crashes when accessing the ``f_back`` member
of newly-created generator or coroutine frames.

View file

@ -1,3 +0,0 @@
Fix an issue where several frame objects could be backed by the same
interpreter frame, possibly leading to corrupted memory and hard crashes of
the interpreter.

View file

@ -1 +0,0 @@
Update tutorial introduction output to use 3.10+ SyntaxError invalid range.

View file

@ -1,2 +0,0 @@
Fix ``!`` in c domain ref target syntax via a ``conf.py`` patch, so it works
as intended to disable ref target resolution.

View file

@ -1 +0,0 @@
Fix broken :class:`asyncio.Semaphore` when acquire is cancelled.

View file

@ -1,9 +0,0 @@
fix Flag to use boundary CONFORM
This restores previous Flag behavior of allowing flags with non-sequential values to be combined; e.g.
class Skip(Flag):
TWO = 2
EIGHT = 8
Skip.TWO | Skip.EIGHT -> <Skip.TWO|EIGHT: 10>

View file

@ -1 +0,0 @@
Make Semaphore run faster.

View file

@ -1 +0,0 @@
Update the bundled copies of pip and setuptools to versions 22.3 and 65.5.0 respectively.

View file

@ -1,15 +0,0 @@
On Linux the :mod:`multiprocessing` module returns to using filesystem backed
unix domain sockets for communication with the *forkserver* process instead of
the Linux abstract socket namespace. Only code that chooses to use the
:ref:`"forkserver" start method <multiprocessing-start-methods>` is affected.
Abstract sockets have no permissions and could allow any user on the system in
the same `network namespace
<https://man7.org/linux/man-pages/man7/network_namespaces.7.html>`_ (often the
whole system) to inject code into the multiprocessing *forkserver* process.
This was a potential privilege escalation. Filesystem based socket permissions
restrict this to the *forkserver* process user as was the default in Python 3.8
and earlier.
This prevents Linux `CVE-2022-42919
<https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-42919>`_.

View file

@ -1,3 +0,0 @@
Fix multiplying a list by an integer (``list *= int``): detect the integer
overflow when the new allocated length is close to the maximum size. Issue
reported by Jordan Limor. Patch by Victor Stinner.

View file

@ -1,4 +0,0 @@
On Windows, when the Python test suite is run with the ``-jN`` option, the
ANSI code page is now used as the encoding for the stdout temporary file,
rather than using UTF-8 which can lead to decoding errors. Patch by Victor
Stinner.

View file

@ -1 +0,0 @@
Clarify some text in the Windows installer.

View file

@ -1,3 +0,0 @@
Fix :file:`py.exe` launcher handling of ``-V:<company>/`` option when
default preferences have been set in environment variables or configuration
files.

View file

@ -1,4 +0,0 @@
Fixes :mod:`multiprocessing` spawning child processes on Windows from a
virtual environment to ensure that child processes that also use
:mod:`multiprocessing` to spawn more children will recognize that they are
in a virtual environment.

View file

@ -1,6 +0,0 @@
The macOS 13 SDK includes support for the ``mkfifoat`` and ``mknodat`` system calls.
Using the ``dir_fd`` option with either :func:`os.mkfifo` or :func:`os.mknod` could result in a
segfault if cpython is built with the macOS 13 SDK but run on an earlier
version of macOS. Prevent this by adding runtime support for detection of
these system calls ("weaklinking") as is done for other newer syscalls on
macOS.