Another suppression, this in SkMatrix caching the typemask.
[platform/upstream/libSkiaSharp.git] / tools / tsan.supp
1 # Suppressions for Thread Sanitizer
2 #
3 # CAREFUL!  Comments must go on their own line or your suppressions will silently fail.
4
5 # WebP races (harmlessly) choosing function pointers for SIMD versions of some of its functions.
6 race:third_party/externals/libwebp
7
8 # Poppler races on startup.
9 race:libpoppler.so
10 # LCMS is used by poppler, and also races.
11 race:liblcms2.so
12
13 # skia:2459  Seemingly misdiagnosed use-after-free, having something to do with software GL drivers.
14 # Having trouble getting this suppression to match.
15 # We've tried: race:swrast_dri.so
16 #              race:SkGLContextHelper::init
17 # Maybe because it's diagnosed as a use-after-free, not as a race?
18 race:SkGLContextHelper
19
20 # Threadsafe, should be ported to SkLazyPtr.
21 race:SkFontHost_FreeType
22 race:is_lcd_supported
23
24 # Not threadsafe, should be fixed.
25 race:RefFCI
26 race:SkString
27 race:SkPDF
28
29 # These race benignly as used by DMQuiltTask: skia:2725.
30 # Suppress while I look for a more focused way to silence this.
31 race:SkPixelRef::callGenIDChangeListeners
32 race:SkPixelRef::needsNewGenID
33
34 # This calls SkRefCnt::getRefCnt(), which is not thread safe.  skia:2726
35 race:SkImageFilter::filterImage
36
37 # SkPathRef caches its bounding box the first time it's needed.
38 # This will be fixed naturally once we create (from a single thread) a
39 # bounding-box hierarchy for SkRecord-based SkPictures; all bounds will come pre-cached.
40 # So just shut this up for now.
41 race:SkPathRef::computeBounds
42
43 # SkMatrix caches a type mask.  If we race on this, we'll just calculate the same thing a few times.
44 race:SkMatrix::getPerspectiveTypeMaskOnly
45
46 # TODO: some sort of SkRacy<T> to handle cases like SkMatrix, SkPathRef, SkPixelRef above?