-
Notifications
You must be signed in to change notification settings - Fork 23
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
Improving test tools and strategies for multi-threading #56
Comments
For TSAN, I found some meson configuration in the QEMU repo that might be something to start with. It looks like all that's needed is making sure |
Oh never mind, meson has built-in support for it via |
https://py-free-threading.github.io looks like a cool resource! Are you planning to announce it at some point? |
We did, via a blog post. Is there a spot you would have more easily heard the announcement? |
I spent a little time looking at setting up TSAN for NumPy. Unfortunately it's not quite as easy to get working as ASAN. I got it working on my Mac, but because you need to set I tried also on my x86 linux laptop and unfortunately in Linux TSAN has issues with ASLR on newer kernels: google/sanitizers#1716 (comment) I might be able to get this working with clang 18 on Linux, but that might be annoying to get working on CI since it looks like that version hasn't been packaged yet for Ubuntu. |
I think an announcement on discuss.python.org would make sense...? 🤔 |
It's packaged (also for linux) in conda-forge. ;)
|
Or plain |
The suggested plan of attack and documented test strategies on https://py-free-threading.github.io are up-to-date given what we know and the tools we have available. However, the testing strategies for uncovering thread-safety issues are falling short of what we need. Improving this should be a priority.
Ideas that need implementing or protyping:
threading
andconcurrent.futures
in this doc section, and look something like therun_in_parallel
from scikit-image)The text was updated successfully, but these errors were encountered: