Skip to content
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
wants to merge 27 commits into
base: master
Choose a base branch
from

Commits on Sep 14, 2016

  1. Configuration menu
    Copy the full SHA
    e082a96 View commit details
    Browse the repository at this point in the history

Commits on Nov 15, 2017

  1. Configuration menu
    Copy the full SHA
    5f357d6 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    9608927 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    6db8c7d View commit details
    Browse the repository at this point in the history

Commits on Nov 17, 2017

  1. pfs needs to destroy its key objects when the ft library is uninitial…

    …ized, otherwise the ft library leaks memory.
    prohaska7 committed Nov 17, 2017
    Configuration menu
    Copy the full SHA
    6e45858 View commit details
    Browse the repository at this point in the history

Commits on Nov 18, 2017

  1. Configuration menu
    Copy the full SHA
    0e65fe9 View commit details
    Browse the repository at this point in the history

Commits on Nov 19, 2017

  1. Configuration menu
    Copy the full SHA
    1ba1dfe View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    d7dbfa6 View commit details
    Browse the repository at this point in the history

Commits on Nov 29, 2017

  1. Configuration menu
    Copy the full SHA
    1c63ac8 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    9071df1 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    525665e View commit details
    Browse the repository at this point in the history
  4. fix data race in minicron

    prohaska7 committed Nov 29, 2017
    Configuration menu
    Copy the full SHA
    6bf0a38 View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    2cd2b35 View commit details
    Browse the repository at this point in the history

Commits on Nov 30, 2017

  1. Configuration menu
    Copy the full SHA
    525177f View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    ab4d26b View commit details
    Browse the repository at this point in the history
  3. fix data races in ft tests

    prohaska7 committed Nov 30, 2017
    Configuration menu
    Copy the full SHA
    f9d363f View commit details
    Browse the repository at this point in the history

Commits on Dec 1, 2017

  1. Configuration menu
    Copy the full SHA
    23bc4d9 View commit details
    Browse the repository at this point in the history

Commits on Dec 8, 2017

  1. Configuration menu
    Copy the full SHA
    0daea59 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    14e5507 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    e9e6c78 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    d80bee7 View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    6ff7045 View commit details
    Browse the repository at this point in the history

Commits on Dec 12, 2017

  1. 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.
    prohaska7 committed Dec 12, 2017
    Configuration menu
    Copy the full SHA
    976328e View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    271ce1b View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    1dee4ce View commit details
    Browse the repository at this point in the history

Commits on Dec 14, 2017

  1. Configuration menu
    Copy the full SHA
    530a157 View commit details
    Browse the repository at this point in the history

Commits on Dec 15, 2017

  1. fix data races in ydb tests

    prohaska7 committed Dec 15, 2017
    Configuration menu
    Copy the full SHA
    2ddec4b View commit details
    Browse the repository at this point in the history