-
Notifications
You must be signed in to change notification settings - Fork 501
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
ThreadSanitizer doesn't like rayon's work stealing? #812
Comments
What are the versions of your But yes, from the context of those backtraces, I think this will be solely in crossbeam's domain. |
Our lockfiles currently contain:
|
If you could update to rayon 1.5, that will bump rayon-core and the crossbeam dependencies as well. I have no idea if this will fix the issue, but better to be using the most current versions if possible... |
Still happens with 1.5.0, although perhaps slightly rarer? (it's intermittent) tsan backtrace
|
Also: if you want to test rayon with tsan, you just need to build/run your tests with:
Sadly this is limited to Rust nightly, and only on x64(?) linux. I don't have a linux machine setup right now so I can't try to reproduce this locally. |
Running |
I'm working on increasing the tsan coverage in firefox, and it appears that tsan doesn't understand whatever tricks you're using in the work-stealing system -- specifically with crossbeam_deque (possibly this is just an issue with crossbeam deque).
If this design is relying on fences, it's a known issue that tsan doesn't work well with them. Although this is probably not a correctness issue, making rayon more tsan friendly would probably be good to do.
Firefox CI failure
Archived tsan backtrace
The text was updated successfully, but these errors were encountered: