blob: 179adc9b4afd1f4f20d2cc40ad47d9bd48961536 [file] [log] [blame]
# Suppressions for Thread Sanitizer
#
# CAREFUL! Comments must go on their own line or your suppressions will silently fail.
# WebP races (harmlessly) choosing function pointers for SIMD versions of some of its functions.
race:third_party/externals/libwebp
# Poppler races on startup.
race:libpoppler.so
# LCMS is used by poppler, and also races.
race:liblcms2.so
# skia:2459 Seemingly misdiagnosed use-after-free, having something to do with software GL drivers.
# Having trouble getting this suppression to match.
# We've tried: race:swrast_dri.so
# race:SkGLContextHelper::init
# Maybe because it's diagnosed as a use-after-free, not as a race?
race:SkGLContextHelper
# Threadsafe, should be ported to SkLazyPtr.
race:SkFontHost_FreeType
race:is_lcd_supported
# Not threadsafe, should be fixed.
race:RefFCI
race:SkString
race:SkPDF
# These race benignly as used by DMQuiltTask: skia:2725.
# Suppress while I look for a more focused way to silence this.
race:SkPixelRef::callGenIDChangeListeners
race:SkPixelRef::needsNewGenID
# This calls SkRefCnt::getRefCnt(), which is not thread safe. skia:2726
race:SkImageFilter::filterImage
# SkPathRef caches its bounding box the first time it's needed.
# This will be fixed naturally once we create (from a single thread) a
# bounding-box hierarchy for SkRecord-based SkPictures; all bounds will come pre-cached.
# So just shut this up for now.
race:SkPathRef::computeBounds
# SkMatrix caches a type mask. If we race on this, we'll just calculate the same thing a few times.
race:SkMatrix::getType
race:SkMatrix::rectStaysRect
race:SkMatrix::getPerspectiveTypeMaskOnly
# TODO: some sort of SkRacy<T> to handle cases like SkMatrix, SkPathRef, SkPixelRef above?