← Back to issue list

fix: use fork context for chroot in python 3.14

View original Github issue

Metadata

Project
craft-parts
Number
#1672
Type
pull request
State
merged
Author
cmatsuoka
Labels
Created
Updated
Closed

Current evaluation

Merged fix for Python 3.14 compatibility by explicitly using the fork start method in chroot(). This preserves parent state inheritance lost due to Python's new forkserver default. Resolves #1642 after passing all CI checks and receiving two approvals.

Suggested action:

No scores available.

Issue body

Python 3.14 changed the Linux default from `fork` to `forkserver`, so the child process no longer inherits the parent’s state such as monkeypatched chdir or chroot. Explicitly request the `fork` start method inside `chroot()` to keep the same behavior across all supported Python versions. Fixes #1642 - [x] Have you followed the guidelines for contributing? - [x] Have you signed the [CLA](http://www.ubuntu.com/legal/contributors/)? - [ ] Have you successfully run `make lint && make test`? - [ ] Have you added an entry to the changelog (`docs/reference/changelog.rst`)? ---

Evaluation history

Date Model Scores Action Summary
qwen/qwen3.6-35b-a3b Merged fix for Python 3.14 compatibility by explicitly using the fork start method in chroot(). This preserves parent state inheritance lost due to Python's new forkserver default. Resolves #1642 after passing all CI checks and receiving two approvals.
qwen/qwen3.6-35b-a3b
Staleness: 5
Complexity: 15
Confidence: 95
needs review Explicitly requests fork start method in chroot() to maintain compatibility with Python 3.14's new forkserver default. Approved by two reviewers, CI passing, pending two slow tests, 2 unresolved comments.
qwen/qwen3.6-35b-a3b
Staleness: 0
Complexity: 10
Confidence: 95
needs review Addresses Python 3.14 forkserver default breaking chroot state inheritance by explicitly requesting fork context. Currently approved by one reviewer with passing CI checks and several pending jobs.
qwen/qwen3.6-35b-a3b
Staleness: 5
Complexity: 15
Confidence: 90
needs review Fixes Python 3.14 forkserver default breaking chroot by explicitly using fork context. Currently awaiting maintainer review with CI tests pending.
qwen/qwen3.6-35b-a3b
Staleness: 5
Complexity: 20
Confidence: 90
needs review Addresses Python 3.14 multiprocessing default change by explicitly using fork context in chroot() to preserve state. Currently awaiting maintainer review and CI completion.
qwen/qwen3.6-35b-a3b
Staleness: 5
Complexity: 15
Confidence: 90
needs review Updates chroot() to explicitly use the fork start method, addressing Python 3.14's default shift to forkserver which broke state inheritance. Currently pending maintainer review and CI completion.

Update history

Date Change
updated
updated
updated
updated
updated
created

Related issues

No related issues found above the similarity threshold.