cpython/Lib
Miss Islington (bot) e285232c76
[3.13] gh-130851: Don't crash when deduping unusual code constants (GH-130853) (#130880)
The bytecode compiler only generates a few different types of constants,
like str, int, tuple, slices, etc. Users can construct code objects with
various unusual constants, including ones that are not hashable or not
even constant.

The free threaded build previously crashed with a fatal error when
confronted with these constants. Instead, treat distinct objects of
otherwise unhandled types as not equal for the purposes of deduplication.
(cherry picked from commit 2905690a91)

Co-authored-by: Sam Gross <colesbury@gmail.com>
2025-03-05 15:22:57 -05:00
..
__phello__
_pyrepl [3.13] gh-128388: pyrepl on Windows: add meta and ctrl+arrow keybindings (GH-128389) (GH-130500) 2025-03-03 16:57:53 +01:00
asyncio [3.13] gh-130145: fix loop.run_forever when loop is already running (GH-130146) (#130147) 2025-02-15 09:55:08 +00:00
collections [3.13] Fix outdated reference link in collections module (gh-130349) (gh-130386) 2025-02-21 00:22:05 +00:00
concurrent [3.13] gh-88110: Clear concurrent.futures.thread._threads_queues after fork to avoid joining parent process' threads (GH-126098) (GH-127163) 2024-11-22 17:08:18 +00:00
ctypes [3.13] gh-105733: Soft-deprecate ctypes.ARRAY, rather than hard-deprecating it. (GH-122281) (GH-122440) 2024-07-30 08:05:09 +00:00
curses
dbm [3.13] gh-120417: Remove unused imports in the stdlib (GH-120420) (#120429) 2024-06-12 19:27:32 +00:00
email [3.13] gh-80222: Fix email address header folding with long quoted-string (GH-122753) (#129007) 2025-01-19 16:06:28 -05:00
encodings gh-85287: Change codecs to raise precise UnicodeEncodeError and UnicodeDecodeError (#113674) 2024-03-17 04:58:42 +00:00
ensurepip [3.13] gh-129583: update bundled pip to 25.0.1 (GH-129909) (#129946) 2025-02-10 14:03:40 +02:00
html
http [3.13] gh-129408: http: Fix typo 'RFF' to RFC' in docstring (GH-129411) (#129414) 2025-01-28 18:48:51 +00:00
idlelib [3.13] gh-69001: Convert links to more usable buttons (GH-129591) (#130338) 2025-02-20 08:54:31 +00:00
importlib [3.13] gh-97850: Update the deprecation warning of importlib.abc.Loader.load_module (GH-129855) (GH-130013) 2025-02-11 19:28:25 +00:00
json [3.13] gh-125660: Reject invalid unicode escapes for Python implementation of JSON decoder (GH-125683) (GH-125694) 2024-10-21 16:07:56 +03:00
logging [3.13] gh-127712: Fix secure argument of logging.handlers.SMTPHandler (GH-127726) (GH-129955) 2025-02-10 14:30:31 +00:00
multiprocessing [3.13] remove type annotations from multiprocessing. (GH-129381) (#129470) 2025-01-30 08:54:15 +00:00
pathlib [3.13] GH-125069: Fix inconsistent joining in WindowsPath(PosixPath(...)) (GH-125156) (#125409) 2024-10-13 18:12:57 +00:00
pydoc_data [3.13] GH-121970: Extract pydoc_topics into a new extension (#129116) (#130441) 2025-02-27 14:18:46 +00:00
re [3.13] gh-126505: Fix bugs in compiling case-insensitive character classes (GH-126557) (GH-126689) 2024-11-11 16:54:57 +00:00
site-packages
sqlite3 [3.13] gh-105875: amend sqlite3 docstring wrt. SQLite requirement (GH-129599) (#129602) 2025-02-02 23:26:38 +00:00
sysconfig [3.13] GH-92897: schedule the check_home deprecation to 3.15 (GH-129102) (#130583) 2025-02-27 18:16:33 +00:00
test [3.13] gh-130851: Don't crash when deduping unusual code constants (GH-130853) (#130880) 2025-03-05 15:22:57 -05:00
tkinter [3.13] gh-128562: Fix generation of the tkinter widget names (GH-128604) (GH-128791) 2025-01-13 18:23:33 +02:00
tomllib
turtledemo [3.13] gh-128062: Fix the font size and shortcut display of the turtledemo menu (GH-128063) (#128101) 2024-12-19 20:47:24 +00:00
unittest [3.13] gh-124234: Improve docs for Mock.reset_mock (GH-124237) (#130408) 2025-02-21 14:58:08 +00:00
urllib [3.13] gh-105704: Disallow square brackets ([ and ]) in domain names for parsed URLs (GH-129418) (GH-129526) 2025-02-02 00:12:51 -08:00
venv [3.13] gh-124651: Quote template strings in venv activation scripts (GH-124712) (GH-125813) 2024-10-22 16:49:20 +01:00
wsgiref
xml [3.13] gh-128302: Fix bugs in xml.dom.xmlbuilder (GH-128284) (#128582) 2025-01-11 13:31:04 +02:00
xmlrpc
zipfile [3.13] GH-128131: Completely support random read access of uncompressed unencrypted files in ZipFile (GH-128143) (#129091) 2025-01-20 18:28:52 +00:00
zoneinfo
__future__.py
__hello__.py
_aix_support.py
_android_support.py [3.13] Fix typo in Lib/_android_support.py (GH-127699) (#127703) 2024-12-06 18:14:12 +00:00
_apple_support.py [3.13] gh-126925: Modify how iOS test results are gathered (GH-127592) (#127754) 2024-12-09 14:39:11 +08:00
_collections_abc.py [3.13] gh-116938: Clarify documentation of dict and dict.update regarding the positional argument they accept (GH-125213) (#125336) 2024-10-11 23:29:01 +00:00
_colorize.py [3.13] gh-129061: Fix FORCE_COLOR and NO_COLOR when empty strings (GH-129140) (#129360) 2025-01-27 14:48:05 +00:00
_compat_pickle.py
_compression.py
_ios_support.py [3.13] gh-119253: use ImportError in _ios_support (GH-119254) (#119265) 2024-05-20 22:21:28 +00:00
_markupbase.py
_opcode_metadata.py GH-118095: Use broader specializations of CALL in tier 1, for better tier 2 support of calls. (GH-118322) 2024-05-04 12:11:11 +01:00
_osx_support.py
_py_abc.py
_pydatetime.py [3.13] gh-127553: Remove outdated TODO comment in _pydatetime (GH-127564) (#128500) 2025-01-04 23:01:03 +00:00
_pydecimal.py [3.13] Fix typos in Lib/_pydecimal.py (GH-127700) (#127887) 2024-12-12 20:49:09 +00:00
_pyio.py
_pylong.py gh-118610: Centralize power caching in _pylong.py (#118611) 2024-05-07 19:09:09 -05:00
_sitebuiltins.py
_strptime.py [3.13] gh-127552: Remove comment questioning 4-digit restriction for ‘Y’ in datetime.strptime patterns (GH-127590) GH-127650) 2024-12-06 09:17:32 -08:00
_threading_local.py
_weakrefset.py
abc.py
antigravity.py
argparse.py [3.13] gh-125355: Rewrite parse_intermixed_args() in argparse (GH-125356) (GH-125834) 2024-10-22 15:58:05 +03:00
ast.py [3.13] gh-127975: Avoid reusing quote types in ast.unparse if not needed (GH-127980) (#129600) 2025-02-03 00:38:44 +00:00
base64.py [3.13] Clarify base64.a85encode docs: *wrapcols* doesn't count the newline (GH-119409) (GH-119483) 2024-05-28 16:55:37 +02:00
bdb.py [3.13] gh-128991: Release the enter frame reference within bdb callba… (#129002) 2025-01-18 17:21:23 -05:00
bisect.py
bz2.py gh-115961: Add name and mode attributes for compressed file-like objects (GH-116036) 2024-04-21 11:46:39 +03:00
calendar.py [3.13] gh-126476: Raise IllegalMonthError for calendar.formatmonth() when the input month is not correct (GH-126484) (GH-126879) 2024-11-15 15:20:25 -08:00
cmd.py
code.py [3.13] gh-125666: Avoid PyREPL exiting when a null byte is in input (GH-125732) (#126023) 2024-12-02 15:04:51 +01:00
codecs.py
codeop.py [3.13] gh-124960: Fixed barry_as_FLUFL future flag does not work in new REPL (#124999) (#125475) 2024-10-14 20:00:45 +02:00
colorsys.py [3.13] gh-121905: Consistently use "floating-point" instead of "floating point" (GH-121907) (GH-122012) 2024-07-19 09:13:08 +00:00
compileall.py gh-117205: Increase chunksize when compiling pyc in parallel (#117206) 2024-04-03 15:24:24 -07:00
configparser.py [3.13] gh-127096: Do not recreate unnamed section on every read in ConfigParser (GH-127228) (#129593) 2025-02-02 18:53:23 +00:00
contextlib.py
contextvars.py [3.13] gh-126451: Revert backports of ABC registrations for contextvars.Context and multiprocessing proxies (#126734) 2024-11-12 12:29:13 +00:00
copy.py [3.13] gh-121300: Add replace to copy.__all__ (GH-121302) (#121337) 2024-07-03 15:28:57 +00:00
copyreg.py
cProfile.py
csv.py [3.13] gh-121905: Consistently use "floating-point" instead of "floating point" (GH-121907) (GH-122012) 2024-07-19 09:13:08 +00:00
dataclasses.py [3.13] gh-123935: Fix typo in _get_slots in dataclasses.py (GH-123941) (#123991) 2024-12-03 17:17:25 +01:00
datetime.py
decimal.py [3.13] gh-123339: Fix cases of inconsistency of __module__ and __firstlineno__ in classes (GH-123613) (#124735) 2024-09-29 21:21:40 -07:00
difflib.py
dis.py [3.13] gh-127637: add tests for dis command-line interface (#127759) (#127781) 2024-12-10 12:32:32 +00:00
doctest.py [3.13] gh-128595: Default to stdout isatty for colour detection instead of stderr (GH-128498) (#129057) 2025-01-21 18:14:24 +02:00
enum.py [3.13] gh-112328: Make EnumDict usable on its own and document it (GH-123669) (GH-128142) 2024-12-24 10:50:23 -08:00
filecmp.py [3.13] gh-122400: Handle ValueError in filecmp (GH-122401) (GH-122441) 2024-07-30 09:17:35 +00:00
fileinput.py
fnmatch.py
fractions.py [3.13] gh-119189: Fix the power operator for Fraction (GH-119242) (GH-119836) 2024-07-16 10:44:23 +03:00
ftplib.py
functools.py [3.13] gh-127750: Fix functools.singledispatchmethod() (GH-130029) 2025-02-17 11:12:24 +02:00
genericpath.py gh-117114: Make os.path.isdevdrive available on all platforms (GH-117115) 2024-03-25 22:55:11 +00:00
getopt.py
getpass.py
gettext.py
glob.py [3.13] GH-119169: Implement pathlib.Path.walk() using os.walk() (GH-119573) (#119750) 2024-05-29 21:24:42 +00:00
graphlib.py [3.13] gh-129892: Doc: Remove unnecessary role directive in graphlib.py (GH-129896) (#129904) 2025-02-09 15:47:10 +00:00
gzip.py [3.13] gh-129726: Break gzip.GzipFile reference loop (GH-130055) (#130669) 2025-02-28 08:32:44 +00:00
hashlib.py
heapq.py
hmac.py
imaplib.py [3.13] gh-119511: Fix a potential denial of service in imaplib (GH-119514) (GH-129355) 2025-01-27 14:05:59 -08:00
inspect.py [3.13] gh-70764: inspect.getclosurevars now identifies global variables with LOAD_GLOBAL (GH-120143) (#126459) 2024-11-06 00:18:32 +00:00
io.py
ipaddress.py [3.13] gh-122792: Make IPv4-mapped IPv6 address properties consistent with IPv4 (GH-122793) (GH-123815) 2024-12-03 17:12:36 +01:00
keyword.py
linecache.py [3.13] gh-126775: make linecache.checkcache threadsafe and GC re-entrency safe (GH-126776) (#127778) 2024-12-10 08:06:26 +00:00
locale.py [3.13] gh-129646: Update the locale alias mapping (GH-129647) (GH-129658) 2025-02-04 18:31:20 +02:00
lzma.py gh-115961: Add name and mode attributes for compressed file-like objects (GH-116036) 2024-04-21 11:46:39 +03:00
mailbox.py gh-117467: Add preserving of mailbox owner on flush (GH-117510) 2024-04-04 13:32:53 +03:00
mimetypes.py gh-128703: Fix mimetypes.guess_type for empty Content-Type in registry (GH-128854) 2025-02-17 15:36:49 +00:00
modulefinder.py gh-114099 - Add iOS framework loading machinery. (GH-116454) 2024-03-19 08:36:19 -04:00
netrc.py
ntpath.py gh-119826: Improved fallback for ntpath.abspath() on Windows (GH-119938) 2024-12-02 20:11:16 +00:00
nturl2path.py [3.13] GH-127078: url2pathname(): handle extra slash before UNC drive in URL path (GH-127132) (#127135) 2024-11-22 04:37:30 +00:00
numbers.py
opcode.py gh-116381: Specialize CONTAINS_OP (GH-116385) 2024-03-07 03:30:11 +08:00
operator.py gh-118285: Fix signatures of operator.{attrgetter,itemgetter,methodcaller} instances (GH-118316) 2024-04-29 19:30:48 +03:00
optparse.py
os.py [3.13] GH-89727: Fix FD leak on os.fwalk() generator finalization. (GH-119766) (#119767) 2024-05-30 04:40:21 +00:00
pdb.py [3.13] gh-58956: Fix a frame refleak in bdb (GH-128190) (#128947) 2025-01-17 12:49:15 -05:00
pickle.py [3.13] gh-126489: Do not call persistent_id() for a persistent id in Python pickle (GH-126490) (GH-126514) 2024-11-06 22:54:48 +02:00
pickletools.py [3.13] gh-126997: Fix support of non-ASCII strings in pickletools (GH-127062) (GH-127094) 2024-11-21 11:40:52 +00:00
pkgutil.py
platform.py gh-127732: Add Windows Server 2025 detection to platform module (GH-127733) 2024-12-09 12:50:34 +00:00
plistlib.py
poplib.py [3.13] gh-130637: Add validation for numeric response data in stat() method (GH-130646) (#130763) 2025-03-02 20:28:56 +00:00
posixpath.py [3.13] GH-118289: Fix handling of non-directories in posixpath.realpath() (GH-120127) (#126815) 2024-11-13 23:32:56 +00:00
pprint.py
profile.py
pstats.py [3.13] gh-121905: Consistently use "floating-point" instead of "floating point" (GH-121907) (GH-122012) 2024-07-19 09:13:08 +00:00
pty.py
py_compile.py
pyclbr.py
pydoc.py [3.13] gh-128772: Fix pydoc for methods with __module__ is None (GH-129177) (GH-129653) 2025-02-05 14:42:51 +00:00
queue.py gh-117531: Unblock getters after non-immediate queue shutdown (#117532) 2024-04-10 08:01:42 -07:00
quopri.py
random.py [3.13] gh-130285: Fix handling of zero or empty counts in random.sample() (gh-130291) (gh-130416) 2025-02-21 17:56:51 +00:00
reprlib.py [3.13] gh-113570: reprlib.repr does not use builtin __repr__ for reshadowed builtins (GH-113577) (GH-125654) 2024-10-17 17:04:02 +00:00
rlcompleter.py [3.13] gh-113978: Ignore warnings on text completion inside REPL (GH-113979) (#119429) 2024-05-22 23:13:32 +02:00
runpy.py
sched.py [3.13] gh-121905: Consistently use "floating-point" instead of "floating point" (GH-121907) (GH-122012) 2024-07-19 09:13:08 +00:00
secrets.py
selectors.py
shelve.py
shlex.py
shutil.py [3.13] gh-127001: Fix PATHEXT issues in shutil.which() on Windows (GH-127035) (GH-127156) 2024-11-22 16:18:44 +00:00
signal.py
site.py [3.13] gh-122273: Support PyREPL history on Windows (#127141) (#127289) 2024-11-26 11:17:13 +00:00
smtplib.py
socket.py [3.13] gh-128916: Do not set SO_REUSEPORT on non-AF_INET* sockets (GH-128933) (#128969) 2025-01-18 03:45:42 +00:00
socketserver.py [3.13] gh-128916: Do not set SO_REUSEPORT on non-AF_INET* sockets (GH-128933) (#128969) 2025-01-18 03:45:42 +00:00
sre_compile.py
sre_constants.py
sre_parse.py
ssl.py [3.13] gh-79846: Make ssl.create_default_context() ignore invalid certificates (GH-91740) (#122768) 2024-09-02 12:53:59 +02:00
stat.py [3.13] gh-120417: Remove unused imports in the stdlib (GH-120420) (#120429) 2024-06-12 19:27:32 +00:00
statistics.py [3.13] gh-121905: Consistently use "floating-point" instead of "floating point" (GH-121907) (GH-122012) 2024-07-19 09:13:08 +00:00
string.py
stringprep.py
struct.py
subprocess.py [3.13] gh-118761: Revert "Improve import time of subprocess (GH-129427)" (GH-130201) (#130204) 2025-02-16 19:03:32 +00:00
symtable.py [3.13] gh-119698: fix a special case in symtable.Class.get_methods (GH-121802) (#121909) 2024-07-17 13:54:40 +00:00
tabnanny.py [3.13] gh-120495: Fix incorrect exception handling in Tab Nanny (GH-120498) (#120548) 2024-06-15 11:28:28 +00:00
tarfile.py [3.13] gh-121285: Remove backtracking when parsing tarfile headers (GH-121286) (#123542) 2024-09-02 13:19:11 +02:00
tempfile.py [3.13] gh-127371 Avoid unbounded growth SpooledTempfile.writelines (GH-127372) (#130886) 2025-03-05 18:42:55 +01:00
textwrap.py
this.py
threading.py [3.13] gh-129403: Fix ValueError messages in asyncio.Barrier and threading.Barrier (GH-129419) (#129468) 2025-01-30 09:33:30 +00:00
timeit.py
token.py [3.13] gh-127303: Add docs for token.EXACT_TOKEN_TYPES (GH-127304) (#127390) 2024-11-30 08:13:13 +00:00
tokenize.py [3.13] gh-125553: Fix backslash continuation in untokenize (GH-126010) (#129153) 2025-01-21 21:04:55 +00:00
trace.py [3.13] gh-103956: Fix trace output in case of missing source line (GH-103958) (GH-118834) 2024-05-09 13:05:37 +00:00
traceback.py [3.13] gh-130250: fix regression in traceback.print_last (GH-130318) (#130325) 2025-02-19 22:06:43 +00:00
tracemalloc.py
tty.py
turtle.py [3.13] Fix print usage in turtle doctests (GH-122940) (#122977) 2024-08-13 17:03:36 +00:00
types.py
typing.py [3.13] gh-88834: Unify the instance check for typing.Union and types.UnionType (GH-128363) (GH-128370) 2024-12-31 18:45:03 +00:00
uuid.py gh-113308: Remove some internal parts of uuid module (#115934) 2024-03-14 13:01:41 +03:00
warnings.py [3.13] gh-122088: Copy the coroutine status of the underlying callable in @warnings.deprecated (GH-122086) (#122156) 2024-07-23 10:24:07 +00:00
wave.py
weakref.py
webbrowser.py [3.13] gh-108172: do not override OS preferred browser if it is a super-string of a known browser (GH-113011) (#123527) 2024-09-02 13:18:27 +02:00
zipapp.py [3.13] gh-130379: Fix incorrect zipapp logic to avoid including the target in itself (gh-130509) (gh-130791) 2025-03-03 15:20:05 +00:00
zipimport.py [3.13] gh-121735: Fix module-adjacent references in zip files (GH-123037) (#123986) 2024-09-29 18:17:16 -07:00