-
Notifications
You must be signed in to change notification settings - Fork 169
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
Clean thread sanitizer run #2070
Comments
Just for reference. This link explains how to do exclusions: https://github.com/google/sanitizers/wiki/ThreadSanitizerCppManual#suppressing-reports |
@finnschiermer What's left on this? |
At the moment there are 2 races left to classify, both are related to robust mutex emulation, and both are likely benign. |
Oh, yes, there is one more race which have been eliminated but without us fully understanding what lies behind it. I expect to return to that later when we get plenty of time :-) |
So, I have to reopen this, because the "eliminated" race mentioned above caused a crash at the cocoa unittests and had to be reverted. |
Recently reported race: ================== Previous write of size 1 at 0x7b2000058510 by thread T16 (mutexes: write M571252488279183488): Mutex M1051163318364541560 is already destroyed. Mutex M588985411665600640 is already destroyed. Mutex M15 (0x7b0c00000060) created at: Mutex M571252488279183488 is already destroyed. Thread T79 (tid=4656, running) created by thread T16 at: Thread T16 'test-thread-16' (tid=4592, running) created by main thread at: SUMMARY: ThreadSanitizer: data race (/usr/local/lib64/libtsan.so.0+0x6a794) in operator delete(void*)================== Previous write of size 1 at 0x7b2000054510 by thread T28 (mutexes: write M191261269737119872): Mutex M710578596545434232 is already destroyed. Mutex M17379 (0x7f1c76f28080) created at: Mutex M15 (0x7b0c00000060) created at: Mutex M191261269737119872 is already destroyed. Thread T98 (tid=4674, running) created by thread T28 at: Thread T28 'test-thread-28' (tid=4604, running) created by main thread at: SUMMARY: ThreadSanitizer: data race (/usr/local/lib64/libtsan.so.0+0x6a794) in operator delete(void*) |
The realm-core unit tests are running cleanly under thread and address sanitisers since #2782 fixed some problems and automated these checks as part of CI runs. |
@ironage I don't remember. I think the issue is solved for Core with your recent work. If you agree, please close this issue. |
All the core races should be solved now. Let's close this and if we discover more we can open a new issue. |
We should aim for clean runs of the thread sanitizer. Reported races should be inspected and if benign and necessary, exceptions should be added for them. Otherwise they should be fixed.
The text was updated successfully, but these errors were encountered: