-
-
Notifications
You must be signed in to change notification settings - Fork 30.8k
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
Make the Python test suite pass with the GIL disabled #116749
Labels
Comments
colesbury
added
type-feature
A feature request or enhancement
topic-free-threading
labels
Mar 13, 2024
Partly related: #112677 which tests inside a sub interpreter (with each test having an isolated GIL). |
colesbury
added a commit
to colesbury/cpython
that referenced
this issue
Apr 25, 2024
Switch GIL to disabled by default in free-threaded build so that the free-threaded CIs catch thread-safety issues.
colesbury
added a commit
that referenced
this issue
Apr 26, 2024
Switch GIL to disabled by default in free-threaded build so that the free-threaded CIs catch thread-safety issues.
The relevant PRs are merged, so I'm closing this now. We'll open new issues for bugs/crashes as they pop up. |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Feature or enhancement
This issue is to track the remaining bugs that prevent the Python test suite from passing with the GIL disabled, as well as the PRs under review that fix known issues.
Note that this is not intended to cover all free-threading related issues: some thread-safety issues don't result in tests crashing or failing and are not tracked here. This is intended to cover the minimum set of changes needed to ensure that the test suite passes reliably with the GIL disabled.
PRs
Integration branch
Branches to merge
This branch contains the merge of the above PRs and is used to find bugs that are not covered by outstanding PRs. Note that setting
PYTHON_GIL=0
isn't sufficient because some tests do not propagate the environment variable to tests in subprocesses. Instead, the branch changes the default mode to disable the GIL for testing purposes.Issues without PRs that fix them
Bugs without issues
Windows
Linux
test.test_concurrent_futures.test_deadlock
deadlocks ? - https://buildbot.python.org/all/#/builders/1281/builds/148/steps/5/logs/stdiomacOS
test_interrupt_main_subthread
-RuntimeError: release unlocked lock
https://buildbot.python.org/all/#/builders/1367/builds/117/steps/5/logs/stdiotest.test_multiprocessing_spawn.test_processes.WithProcessesTestPool.test_release_task_refs
-10 != 0
https://buildbot.python.org/all/#/builders/1367/builds/119/steps/5/logs/stdio
test_daemon_threads_shutdown_stderr_deadlock
-Assertion failed: (tstate == NULL || tstate->interp == interp), function _PyEval_ReleaseLock, file ceval_gil.c,
test_queue
test_shutdown_all_methods_in_many_threads
- AttributeError: 'Queue' object has no attribute '_lock'Old bugs?
test.test_smtpnet.SmtpSSLTest.test_connect_default_port
connection closed (possibly related)test.test_multiprocessing_forkserver.test_processes
hangs ?Linked PRs
The text was updated successfully, but these errors were encountered: