Skip to content

Conversation

@cclauss
Copy link
Contributor

@cclauss cclauss commented Oct 1, 2025

Python 3.14 (the π version)
https://www.python.org/downloads/release/python-3140/
https://github.com/actions/python-versions/releases

If you encounter NameErrors or pickling errors coming out of multiprocessing or concurrent.futures, see the forkserver restrictions.

Pwntools Pull Request

Thanks for contributing to Pwntools! Take a moment to look at CONTRIBUTING.md to make sure you're familiar with Pwntools development.

Please provide a high-level explanation of what this pull request is for.

Testing

Pull Requests that introduce new code should try to add doctests for that code. See TESTING.md for more information.

Target Branch

Depending on what the PR is for, it needs to target a different branch.

You can always change the branch after you create the PR if it's against the wrong branch.

Branch Type of PR
dev New features, and enhancements
dev Documentation fixes and new tests
stable Bug fixes that affect the current stable branch
beta Bug fixes that affect the current beta branch, but not stable
dev Bug fixes for code that has never been released

Changelog

After creating your Pull Request, please add and push a commit that updates the changelog for the appropriate branch.
You can look at the existing changelog for examples of how to do this.

@cclauss cclauss changed the title GitHub Actions: Test on Python 3.14 release candidate 3 GitHub Actions: Test on Python 3.14 Oct 7, 2025
@peace-maker
Copy link
Member

peace-maker commented Oct 18, 2025

The remaining issues are about itertools not being serialisable anymore in 3.14. We'll have to change the implementation of the relevant functions to not use a deep copy etc.

python/cpython#101588

@Arusekk mentioned #1665 needed similar treatment when multiprocessing changed the default start method on macos.

This came to Linux now too. python/cpython#84559

@cclauss
Copy link
Contributor Author

cclauss commented Oct 18, 2025

@Arusekk Arusekk self-assigned this Oct 20, 2025
@Arusekk
Copy link
Member

Arusekk commented Nov 5, 2025

I almost got it, I decided to augment pickle with marshal for mbruteforce. This will also be a better fix for the original macOS issue, hopefully.

As for iters.lookahead, I think we can just drop it? It seems that it was broken (inefficient, wrong edge case handling) right from the start, as the Python issue says. Just a single function, no internal uses, and supposedly little uses outside (not many comments or links to that issue).

@cclauss
Copy link
Contributor Author

cclauss commented Nov 6, 2025

Rock and roll! 🚀

@Arusekk Arusekk merged commit 1057473 into Gallopsled:dev Nov 6, 2025
15 checks passed
@Arusekk Arusekk linked an issue Nov 6, 2025 that may be closed by this pull request
@cclauss cclauss deleted the patch-2 branch November 6, 2025 19:37
cclauss added a commit to cclauss/pwntools that referenced this pull request Nov 6, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Python 3.14 breaks numerous tests

3 participants