Fix dataclasses in subinterpreters

Fixes https://bugzilla.redhat.com/2252567

The added commit was merged to the 3.12 branch upstream.
This commit is contained in:
Miro Hrončok 2023-12-05 11:55:04 +01:00
commit c342899850
2 changed files with 387 additions and 1 deletions

View file

@ -17,7 +17,7 @@ URL: https://www.python.org/
#global prerel ...
%global upstream_version %{general_version}%{?prerel}
Version: %{general_version}%{?prerel:~%{prerel}}
Release: 2%{?dist}
Release: 3%{?dist}
License: Python-2.0.1
@ -364,6 +364,27 @@ Patch251: 00251-change-user-install-location.patch
# https://github.com/GrahamDumpleton/mod_wsgi/issues/730
Patch371: 00371-revert-bpo-1596321-fix-threading-_shutdown-for-the-main-thread-gh-28549-gh-28589.patch
# 00411 # b39f80246f9ad02d636c081929b7fffcd2de2f34
# gh-106931: Intern Statically Allocated Strings Globally
#
# We tried this before with a dict and for all interned strings.
# That ran into problems due to interpreter isolation.
# However, exclusively using a per-interpreter cache caused some inconsistency
# that can eliminate the benefit of interning.
# Here we circle back to using a global cache,
# but only for statically allocated strings.
# We also use a more-basic _Py_hashtable_t for that global cache instead of a dict.
#
# Ideally we would only have the global cache, but the optional isolation
# of each interpreter's allocator means that a non-static string object
# must not outlive its interpreter.
# Thus we would have to store a copy of each such interned string
# in the global cache, tied to the main interpreter.
#
# (cherry-picked from commit b72947a8d26915156323ccfd04d273199ecb870c)
# (cherry-picked from commit 3e6b32875207c39325ed8eded5819cfa5dcebc82)
Patch411: 00411-gh-106931-intern-statically-allocated-strings-globally.patch
# (New patches go here ^^^)
#
# When adding new patches to "python" and "python3" in Fedora, EL, etc.,
@ -1666,6 +1687,10 @@ CheckPython optimized
# ======================================================
%changelog
* Tue Dec 05 2023 Miro Hrončok <mhroncok@redhat.com> - 3.12.0-3
- Fix dataclasses in subinterpreters
- Fixes: rhzb#2252567
* Thu Oct 05 2023 Yaakov Selkowitz <yselkowi@redhat.com> - 3.12.0-2
- Use bundled libb2 in RHEL builds