-
Notifications
You must be signed in to change notification settings - Fork 125
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
Large number of data races in unit tests #1615
Comments
This has just started showing up in CI. The parsing of variables is done in multiple threads, and they all create a new variable and add to the same variable map using map.emplace(). ./bin/TestBPWriteReadAsStreamADIOS2_Threads |
@pnorbert Could you let me know how to reproduce this bug? I run "TestBPWriteReadAsStreamADIOS2_Threads" several times, it works fine. |
@NAThompson thanks, we need to start paying more attention to |
…not safe as described in ornladios#1615.
We currently have ubsan running in the CI for dynamic analysis and we can just as easily add a tsan build. Once we get a clean tsan build then I can add it to our ci checks. |
@chuckatkins , @williamfgc , @pnorbert : Huge thanks to all of you for taking this seriously. As William notes, you have to work on what's a priority, and being race-clean is mine-but you guys are subjected to the work! So it's huge for me to see PRs getting merged that address this. |
In preparation for parallel reads, I added the following to the
CMakeLists.txt
and ran the unit tests:A very large number of race conditions were detected. A few were in
pthread_create
, which arguably is bad, but not the bailiwick of ADIOS. But a large number of them are originating in ADIOS2. I have attached just one of these here, but many tests are afflicted by these problems.race.txt
The text was updated successfully, but these errors were encountered: