Commit Graph
15653 Commits
Author SHA1 Message Date
Jeong, YunWon cdadde55ef Update faulthandler to match CPython 3.14.2
- Rewrite faulthandler with live frame walking via
  Frame.previous AtomicPtr chain and thread-local
  CURRENT_FRAME (AtomicPtr) instead of frame snapshots
- Add signal-safe traceback dumping (dump_live_frames,
  dump_frame_from_raw) walking the Frame.previous chain
- Add safe_truncate/dump_ascii for UTF-8 safe string
  truncation in signal handlers
- Refactor write_thread_id to accept thread_id parameter
- Add SA_RESTART for user signal registration, SA_NODEFER
  only when chaining
- Save/restore errno in faulthandler_user_signal
- Add signal re-entrancy guard in trigger_signals to
  prevent recursive handler invocation
- Add thread frame tracking (push/pop/cleanup/reinit)
  with force_unlock fallback for post-fork recovery
- Remove expectedFailure markers for now-passing tests
2026-02-03 13:41:58 +09:00
CPython Developers b90530cb87 Update test_faulthandler from v3.14.2 2026-02-03 13:41:15 +09:00
dependabot[bot]andCopilot fda12b2fce Bump malachite-base from 0.9.0 to 0.9.1 (#6965)
* Bump malachite-base from 0.9.0 to 0.9.1

Bumps [malachite-base](https://github.com/mhogrefe/malachite) from 0.9.0 to 0.9.1.
- [Release notes](https://github.com/mhogrefe/malachite/releases)
- [Commits](https://github.com/mhogrefe/malachite/compare/v0.9.0...v0.9.1)

---
updated-dependencies:
- dependency-name: malachite-base
  dependency-version: 0.9.1
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

* Align all malachite dependencies to version 0.9.1 (#6970)

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Copilot <198982749+Copilot@users.noreply.github.com>
2026-02-03 09:42:26 +09:00
dependabot[bot] 20a58cbe3e Bump astral-sh/ruff-action from 3.5.1 to 3.6.1 (#6969)
Bumps [astral-sh/ruff-action](https://github.com/astral-sh/ruff-action) from 3.5.1 to 3.6.1.
- [Release notes](https://github.com/astral-sh/ruff-action/releases)
- [Commits](https://github.com/astral-sh/ruff-action/compare/57714a7c8a2e59f32539362ba31877a1957dded1...4919ec5cf1f49eff0871dbcea0da843445b837e6)

---
updated-dependencies:
- dependency-name: astral-sh/ruff-action
  dependency-version: 3.6.1
  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>
2026-02-03 08:17:01 +09:00
Jeong, YunWon 0a39c66817 skip fork test (#6964) 2026-02-02 17:26:31 +09:00
Jeong, YunWon 2f034130b7 [update_lib] auto-mark original contents recovery (#6960) 2026-02-02 16:03:26 +09:00
Jeong, YunWon f7b2660882 Fix test_asyncio for windows (#6959) 2026-02-02 15:58:16 +09:00
Jeong, YunWon c6499797ea AGENTS.md 2026-02-02 15:57:36 +09:00
CPython Developers 15efc4a808 Update uuid from v3.14.2-288-g06f9c8ca1c 2026-02-02 14:01:59 +09:00
Jeong, YunWonandgithub-actions[bot] babc3c634f Make auto-mark output deterministic and fix blank line leak (#6957)
* Make auto-mark output deterministic and fix blank line leak

Sort set iteration in build_patches and dict iteration in
_iter_patch_lines Phase 2 so expectedFailure markers are
always added in alphabetical order.

Include preceding blank line in _method_removal_range so
removing a super-call override doesn't leave behind the
blank line that was added with the method.

* deps code

* auto-mark handles crash better

* Auto-format: ruff format

---------

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2026-02-02 13:53:01 +09:00
Jeong, YunWon 100b870175 Implement UTF-32 encode/decode and fix UTF-16 empty encode
- Add UTF-32, UTF-32-LE, UTF-32-BE encode/decode in _pycodecs.py
- Register utf_32 codec functions in codecs.rs via delegate_pycodecs
- Fix PyUnicode_EncodeUTF16 returning "" instead of [] for empty input
- Remove resolved expectedFailure decorators in test_codecs.py
- Add failure reasons to remaining expectedFailure comments
2026-02-02 12:50:34 +09:00
CPython Developers db347b344d Update tabnanny from v3.14.2-288-g06f9c8ca1c 2026-02-02 11:51:53 +09:00
Jeong, YunWon 95624ce818 Merge pull request #6956 from fanninpm/3.14-socket
Update `socket` from v3.14.2
2026-02-02 11:32:39 +09:00
Jeong, YunWon 4541cbab72 Merge pull request #6954 from fanninpm/3.14-imaplib 2026-02-02 11:31:03 +09:00
CPython Developers 453ff6dc98 Update test_runpy from v3.14.2-288-g06f9c8ca1c 2026-02-02 10:45:01 +09:00
Padraic Fanning 92a5cf0ac8 Mark erroring tests 2026-02-01 20:27:22 -05:00
CPython Developers 02537b56fd Update socket from v3.14.2-288-g06f9c8ca1c 2026-02-01 20:23:50 -05:00
Jeong, YunWonandClaude Sonnet 4.5 7004502951 dealloc and finalize_modules (#6934)
* rewrite finalize_modules with phased algorithm

Replace the absence of module finalization during interpreter shutdown
with a 5-phase algorithm matching pylifecycle.c finalize_modules():

1. Set special sys attributes to None, restore stdio
2. Set all sys.modules values to None, collect module dicts
3. Clear sys.modules dict
4. Clear module dicts in reverse import order (2-pass _PyModule_ClearDict)
5. Clear sys and builtins dicts last

This ensures __del__ methods are called during shutdown and modules are
cleaned up in reverse import order without hardcoded module names.

* dealloc the rigth way

* fix finalize_modules: only clear __main__ dict, mark daemon thread tests as expected failure

Without GC, clearing all module dicts during finalization causes __del__
handlers to fail (globals are None). Restrict Phase 4 to only clear
__main__ dict — other modules' globals stay intact for their __del__
handlers.

Mark test_daemon_threads_shutdown_{stdout,stderr}_deadlock as expected
failures — without GC+GIL, finalize_modules clears __main__ globals
while daemon threads are still running.

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>

---------

Co-authored-by: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-02-02 10:10:58 +09:00
CPython Developers 52d23158ed Update test_asyncgen from v3.14.2 2026-02-02 10:03:42 +09:00
Jeong, YunWon 7f46112984 Merge pull request #6951 from fanninpm/3.14-code
Update `code` from v3.14.2
2026-02-02 09:58:38 +09:00
Padraic Fanning 359920f749 Mark erroring test(s) 2026-02-01 19:45:06 -05:00
CPython Developers a8e93bd8b1 Update imaplib from v3.14.2-288-g06f9c8ca1c 2026-02-01 19:40:43 -05:00
CPython Developers 1079161270 Update test_signal from v3.14.2-288-g06f9c8ca1c 2026-02-02 09:09:35 +09:00
CPython Developers 7ec1f33b60 Update ftplib from v3.14.2-288-g06f9c8ca1c 2026-02-02 09:09:19 +09:00
Padraic Fanning 26a8ef9370 Mark failing tests 2026-02-01 18:57:43 -05:00
CPython Developers 1022eeebdd Update test_code_module from v3.14.2-288-g06f9c8ca1c 2026-02-01 18:55:40 -05:00
CPython Developers f26ec68657 Update code from v3.14.2-288-g06f9c8ca1c 2026-02-01 18:55:19 -05:00
Jeong, YunWon ab6114d5a2 Merge pull request #6942 from youknowone/os-fix
posix.link, termios.error, warn() error, closefd=False for std in/out
2026-02-02 08:11:46 +09:00
Jeong, YunWon 019e754055 Fix __set_name__ error handling to match Python 3.12+ (#6937)
Changed type.rs to add notes to original exceptions instead of
wrapping them in RuntimeError, following PEP 678 (gh-77757).

This allows enum.py's exception handling to work correctly when
super().__new__() is misused in Enum subclasses, enabling the
proper TypeError to propagate instead of being hidden behind
a RuntimeError wrapper.

Fixes test_bad_new_super test case.
2026-02-02 08:11:26 +09:00
CPython Developers d767b5fce6 Update shlex from v3.14.2-288-g06f9c8ca1c 2026-02-02 08:10:15 +09:00
Jeong, YunWon 89dbd42da2 Merge pull request #6946 from fanninpm/3.14-test_tstring
Update `test_tstring` from v3.14.2
2026-02-02 08:09:48 +09:00
Jeong, YunWon d46a3b4ca9 Merge pull request #6945 from fanninpm/3.14-test_unpack_ex
Update `test_unpack_ex` from v3.14.2
2026-02-02 08:09:11 +09:00
CPython Developers 4ef6120c01 Update test_threadsignals from v3.14.2-288-g06f9c8ca1c 2026-02-02 08:08:29 +09:00
Jeong, YunWon d1b55f584e Merge pull request #6902 from youknowone/asyncio
Update asyncio to 3.14.2
2026-02-02 08:04:52 +09:00
Padraic Fanning 491d230dec Make test_tstring platform-independent 2026-02-01 15:08:10 -05:00
Padraic Fanning 946075fe12 Mark failing tests 2026-02-01 15:06:33 -05:00
CPython Developers 10d7498c14 Update test_tstring from v3.14.2-288-g06f9c8ca1c 2026-02-01 15:03:06 -05:00
Padraic Fanning b805008510 Make test_unpack_ex platform-independent 2026-02-01 14:38:26 -05:00
Padraic Fanning 784e203b93 Mark failing examples
This caused me to revise the custom output checker so it can handle
other option flags.
2026-02-01 14:35:48 -05:00
CPython Developers 6f490d2481 Update test_unpack_ex from v3.14.2-288-g06f9c8ca1c 2026-02-01 14:21:52 -05:00
Jeong, YunWon d8e582ef6e _locale.localeconv (#6941) 2026-02-02 02:02:12 +09:00
Jeong, YunWon 1132f66325 Set closefd=false for stdio file objects in VM init
- Prevent closing underlying fd when stdio wrappers are dropped
- Remove expectedFailure from test_fdopen in test_os.py
2026-02-02 01:57:03 +09:00
Jeong, YunWon fce2d7824f Propagate errors from warnings.warn() calls 2026-02-02 01:55:22 +09:00
Jeong, YunWon 188d438e00 Use new_os_subtype_error for termios error construction
- Replace manual exception creation with new_os_subtype_error in termios
- Remove redundant .to_owned() calls in os.link() error messages
2026-02-02 01:54:58 +09:00
Jeong, YunWon 24b6f48841 Add follow_symlinks support to os.link()
- Use linkat() with AT_SYMLINK_FOLLOW on Unix
- Raise NotImplementedError on non-Unix when follow_symlinks=False
- Register link in supports_follow_symlinks
2026-02-02 01:53:46 +09:00
Jeong, YunWon 5e732c5e2a Fix wasip2 build (#6935) 2026-02-02 01:26:17 +09:00
CPython Developers 5997507216 Update ast from v3.14.2 2026-02-02 01:20:23 +09:00
Jeong, YunWon 68ebb61f7b fix: Include hard_deps in git commit (#6940)
Bug: update_lib quick ast was not committing _ast_unparse.py
because git_commit() only added lib_path and test_paths,
but not hard_deps.

Fixed by:
- Add hard_deps parameter to git_commit()
- Collect hard_deps from DEPENDENCIES in main()
- Add hard_deps to paths_to_add in git_commit()
2026-02-02 00:47:29 +09:00
Jeong, YunWon 7258a4ae92 generator is borrowed 2026-02-02 00:43:07 +09:00
Jeong, YunWon 80929f44d4 PyAtomicBorrow 2026-02-02 00:43:07 +09:00