Skip to content

add 3.14t (free threading) to matrix #433

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 1 commit into from
Aug 14, 2025

Conversation

paultiq
Copy link
Contributor

@paultiq paultiq commented Aug 13, 2025

Free Threading is added to https://docs.python.org/3.14/whatsnew/3.14.html#whatsnew314-pep779

Per #431, 3.14 was added to the test matrix... but not the free threading "3.14t" build.

This is a minimal change to check.yaml to increase the matrix.

I didn't see any new errors so far, but will experiment / possibly propose new test cases in a separate PR.

@paultiq
Copy link
Contributor Author

paultiq commented Aug 13, 2025

Interesting, a test failure did occur on the last run, on the 3.14t Ubuntu case.

I didn't see this on run (on my repo against the full matrix), but that's the nature of threading issues.

Edit: I haven't been able to reproduce locally, or by rerunning actions.

This does suggest a deeper issue worth investigating -


tmp_path = PosixPath('/tmp/pytest-of-runner/pytest-0/test_thrashing_with_thread_poo4')
lock_type = <class 'filelock._unix.UnixFileLock'>

    @pytest.mark.parametrize("lock_type", [FileLock, SoftFileLock])
    def test_thrashing_with_thread_pool_lock_recreated_in_each_thread(
        tmp_path: Path,
        lock_type: type[BaseFileLock],
    ) -> None:
        def mess_with_file() -> None:
            with lock_type(lock_file):
                _check_file_read_write(txt_file)
    
        lock_file, txt_file = tmp_path / "test.txt.lock", tmp_path / "test.txt"
        with ThreadPoolExecutor() as executor:
            results = [executor.submit(mess_with_file) for _ in range(100)]
    
>       assert all(r.result() is None for r in results)

=========================== short test summary info ============================
FAILED tests/test_filelock.py::test_thrashing_with_thread_pool_lock_recreated_in_each_thread[UnixFileLock] - IsADirectoryError: [Errno 21] Is a directory: '.'

@gaborbernat gaborbernat marked this pull request as draft August 13, 2025 22:15
@gaborbernat gaborbernat marked this pull request as ready for review August 14, 2025 04:14
@gaborbernat gaborbernat merged commit 0dfc86e into tox-dev:main Aug 14, 2025
63 of 64 checks passed
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.

2 participants