-
Notifications
You must be signed in to change notification settings - Fork 122
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
thread sanitizer finds real bugs in fractal tree software #396
Open
prohaska7
wants to merge
27
commits into
percona:master
Choose a base branch
from
prohaska7:tsan-10
base: master
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Commits on Sep 14, 2016
-
remove test timeout property so that we can use the ctest --timeout p…
…arameter instead
Configuration menu - View commit details
-
Copy full SHA for e082a96 - Browse repository at this point
Copy the full SHA e082a96View commit details
Commits on Nov 15, 2017
-
Configuration menu - View commit details
-
Copy full SHA for 5f357d6 - Browse repository at this point
Copy the full SHA 5f357d6View commit details -
Configuration menu - View commit details
-
Copy full SHA for 9608927 - Browse repository at this point
Copy the full SHA 9608927View commit details -
Configuration menu - View commit details
-
Copy full SHA for 6db8c7d - Browse repository at this point
Copy the full SHA 6db8c7dView commit details
Commits on Nov 17, 2017
-
pfs needs to destroy its key objects when the ft library is uninitial…
…ized, otherwise the ft library leaks memory.
Configuration menu - View commit details
-
Copy full SHA for 6e45858 - Browse repository at this point
Copy the full SHA 6e45858View commit details
Commits on Nov 18, 2017
-
Configuration menu - View commit details
-
Copy full SHA for 0e65fe9 - Browse repository at this point
Copy the full SHA 0e65fe9View commit details
Commits on Nov 19, 2017
-
Configuration menu - View commit details
-
Copy full SHA for 1ba1dfe - Browse repository at this point
Copy the full SHA 1ba1dfeView commit details -
Configuration menu - View commit details
-
Copy full SHA for d7dbfa6 - Browse repository at this point
Copy the full SHA d7dbfa6View commit details
Commits on Nov 29, 2017
-
Configuration menu - View commit details
-
Copy full SHA for 1c63ac8 - Browse repository at this point
Copy the full SHA 1c63ac8View commit details -
Configuration menu - View commit details
-
Copy full SHA for 9071df1 - Browse repository at this point
Copy the full SHA 9071df1View commit details -
Configuration menu - View commit details
-
Copy full SHA for 525665e - Browse repository at this point
Copy the full SHA 525665eView commit details -
Configuration menu - View commit details
-
Copy full SHA for 6bf0a38 - Browse repository at this point
Copy the full SHA 6bf0a38View commit details -
Configuration menu - View commit details
-
Copy full SHA for 2cd2b35 - Browse repository at this point
Copy the full SHA 2cd2b35View commit details
Commits on Nov 30, 2017
-
Configuration menu - View commit details
-
Copy full SHA for 525177f - Browse repository at this point
Copy the full SHA 525177fView commit details -
Configuration menu - View commit details
-
Copy full SHA for ab4d26b - Browse repository at this point
Copy the full SHA ab4d26bView commit details -
Configuration menu - View commit details
-
Copy full SHA for f9d363f - Browse repository at this point
Copy the full SHA f9d363fView commit details
Commits on Dec 1, 2017
-
Configuration menu - View commit details
-
Copy full SHA for 23bc4d9 - Browse repository at this point
Copy the full SHA 23bc4d9View commit details
Commits on Dec 8, 2017
-
Configuration menu - View commit details
-
Copy full SHA for 0daea59 - Browse repository at this point
Copy the full SHA 0daea59View commit details -
Configuration menu - View commit details
-
Copy full SHA for 14e5507 - Browse repository at this point
Copy the full SHA 14e5507View commit details -
Configuration menu - View commit details
-
Copy full SHA for e9e6c78 - Browse repository at this point
Copy the full SHA e9e6c78View commit details -
Configuration menu - View commit details
-
Copy full SHA for d80bee7 - Browse repository at this point
Copy the full SHA d80bee7View commit details -
Configuration menu - View commit details
-
Copy full SHA for 6ff7045 - Browse repository at this point
Copy the full SHA 6ff7045View commit details
Commits on Dec 12, 2017
-
The thread sanitizer reports thousands of warnings when running the f…
…ractal tree tests. Unfortunately, not all of these warnings can be immediately addressed. The suppression file allows some of these issues to be suppressed. There are two reasons for suppressing thread sanitizer issues. First, there are a couple of issues that dominate the warnings and cause other less frequent issues to be lost like a needle in a haystack. The adjustment of row counts, for example, occurs frequently. Second, some of the issues are not bugs but result from algorithm design. For example, the lock order inversion issue in the locktree's concurrent tree occur when the tree is rebalanced and the mutex order from root to leaf in the tree is changed. Since there is not way (that I know) to inform the thread sanitizer that this is to be expected, we need to suppress this issue instead. Valgrind was used as a race detector on the fractal tree software before the thread sanitizer existed. Its helgrind and drd tools allow one to annotate address regions in which data races should be ignored. The fractal tree software is littered with helgrind annotations. The thread sanitizer does not have a similar facility. However, issues identified by the thread sanitizer can be suppressed by code location, either by function or by file. We can use the suppression facility to suppress data race reporting on variables in particular functions. If these functions are sufficiently small, then we can be confident that we are suppressing races on specific variables. Many data races identified by the thread sanitizer can be fixed by replacing standard C+ variables with C++ atomic variables. This replacement will remove the need for thread sanitizer suppressions.
Configuration menu - View commit details
-
Copy full SHA for 976328e - Browse repository at this point
Copy the full SHA 976328eView commit details -
Configuration menu - View commit details
-
Copy full SHA for 271ce1b - Browse repository at this point
Copy the full SHA 271ce1bView commit details -
Configuration menu - View commit details
-
Copy full SHA for 1dee4ce - Browse repository at this point
Copy the full SHA 1dee4ceView commit details
Commits on Dec 14, 2017
-
Configuration menu - View commit details
-
Copy full SHA for 530a157 - Browse repository at this point
Copy the full SHA 530a157View commit details
Commits on Dec 15, 2017
-
Configuration menu - View commit details
-
Copy full SHA for 2ddec4b - Browse repository at this point
Copy the full SHA 2ddec4bView commit details
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.