1# Pass this file to Valgrind with "--suppressions=tools/valgrind.supp"
2
3# Third party lib, driver issues.
4{
5    ati_driver_bug_1
6    Memcheck:Param
7    ioctl(generic)
8    fun:ioctl
9    ...
10    obj:/usr/lib/x86_64-linux-gnu/dri/fglrx_dri.so
11}
12{
13    ati_driver_bug_2
14    Memcheck:Cond
15    obj:/usr/lib/x86_64-linux-gnu/dri/fglrx_dri.so
16}
17{
18    ati_driver_bug_3
19    Memcheck:Addr8
20    ...
21    obj:/usr/lib/x86_64-linux-gnu/dri/fglrx_dri.so
22}
23{
24    ati_driver_bug_4
25    Memcheck:Addr4
26    ...
27    obj:/usr/lib/x86_64-linux-gnu/dri/fglrx_dri.so
28}
29{
30    ati_driver_bug_5
31    Memcheck:Addr2
32    ...
33    obj:/usr/lib/x86_64-linux-gnu/dri/fglrx_dri.so
34}
35{
36    ati_driver_bug_6
37    Memcheck:Addr1
38    ...
39    obj:/usr/lib/x86_64-linux-gnu/dri/fglrx_dri.so
40}
41{
42    ati_driver_bug_7
43    Memcheck:Leak
44    fun:malloc
45    obj:/usr/lib/x86_64-linux-gnu/dri/fglrx_dri.so
46}
47{
48    driver_bug_8
49    Memcheck:Overlap
50    fun:strcpy
51    obj:/usr/lib/x86_64-linux-gnu/dri/fglrx_dri.so
52}
53{
54    ati_driver_bug_9
55    Memcheck:Leak
56    fun:calloc
57    obj:/usr/lib/x86_64-linux-gnu/dri/fglrx_dri.so
58}
59{
60    ati_driver_bug_10
61    Memcheck:Leak
62    fun:malloc
63    obj:/usr/lib/fglrx/fglrx-libGL.so.1.2
64}
65{
66    nv_driver_bug_1
67    Memcheck:Param
68    write(buf)
69    ...
70    obj:/usr/lib/libnvidia-glcore.so*
71}
72{
73    nv_driver_bug_2
74    Memcheck:Cond
75    ...
76    obj:/usr/lib/libnvidia-glcore.so*
77}
78{
79    nv_driver_bug_3
80    Memcheck:Leak
81    fun:calloc
82    obj:/usr/lib*/libGL.so*
83}
84{
85    #Fixed by FontConfig 2.9.0
86    #http://cgit.freedesktop.org/fontconfig/commit/?id=1c475d5c8cb265ac939d6b9e097666e300162511
87    font_config_bug_1
88    Memcheck:Addr4
89    fun:FcConfigFileExists
90}
91{
92    #https://bugs.freedesktop.org/show_bug.cgi?id=8215
93    #https://bugs.freedesktop.org/show_bug.cgi?id=8428
94    #FcPattern uses 'intptr_t elts_offset' instead of 'FcPatternEltPtr elts',
95    #which confuses valgrind.
96    font_config_bug_2
97    Memcheck:Leak
98    fun:*alloc
99    ...
100    fun:Fc*Add*
101}
102{
103    #Same root cause as font_config_bug_2.
104    #The 'leak' here is a copy of rule values, as opposed to new values.
105    font_config_bug_3
106    Memcheck:Leak
107    fun:*alloc
108    fun:FcConfigValues
109    fun:FcConfigSubstituteWithPat
110    fun:FcFontRenderPrepare
111}
112{
113    zlib_bug_1
114    Memcheck:Cond
115    fun:inflateReset2
116    fun:inflateInit2_
117    fun:png_create_read_struct_2
118    fun:png_create_read_struct
119}
120{
121    zlib_bug_2
122    Memcheck:Cond
123    fun:inflateReset2
124    fun:inflateInit2_
125    fun:_ZN12_GLOBAL__N_17doFlateEbP8SkStreamP9SkWStream
126    fun:_ZN7SkFlate7InflateEP8SkStreamP9SkWStream
127}
128
129# Why is it OK to suppress this?
130{
131    SkRTConfRegistry_bug_1
132    Memcheck:Leak
133    fun:_Znwm
134    fun:_ZN16SkRTConfRegistry12registerConfEP12SkRTConfBase
135}
136
137# The gpu_issue_* suppressions suppress issues that cannot be reproduced locally. These appear to be
138# due to valgrind not knowing about memory mapped by the ATI driver via glMapBuffer.
139{
140    gpu_issue_1
141    Memcheck:Addr2
142    fun:_ZNK5GrGpu18getQuadIndexBufferEv
143}
144{
145    gpu_issue_2
146    Memcheck:Addr2
147    fun:_ZN24GrAAHairLinePathRenderer6CreateEP9GrContext
148}
149{
150    gpu_issue_3
151    Memcheck:Addr2
152    fun:_ZN16GrAARectRenderer21aaFillRectIndexBufferEP5GrGpu
153}
154{
155    gpu_issue_4
156    Memcheck:Addr8
157    fun:_ZN24GrAAHairLinePathRenderer14createLineGeomERK6SkPathP12GrDrawTargetRK8SkTArrayI7SkPointLb1EEiPNS3_19AutoReleaseGeometryEP6SkRect
158}
159{
160    gpu_issue_5
161    Memcheck:Addr8
162    fun:_ZN21GrDefaultPathRenderer10createGeomERK6SkPathRK11SkStrokeRecfP12GrDrawTargetP15GrPrimitiveTypePiSA_PNS6_19AutoReleaseGeometryE
163}
164{
165    gpu_issue_6
166    Memcheck:Addr8
167    fun:_ZN22GrAAConvexPathRenderer10onDrawPathERK11SkStrokeRecP12GrDrawTargetb
168}
169{
170    gpu_issue_7
171    Memcheck:Addr4
172    fun:_ZNK7SkPoint24distanceToLineBetweenSqdERKS_S1_PNS_4SideE
173    fun:_ZN22GrAAConvexPathRenderer10onDrawPathERK11SkStrokeRecP12GrDrawTargetb
174}
175{
176    gpu_issue_8
177    Memcheck:Addr4
178    fun:_ZN24GrAAHairLinePathRenderer14createLineGeomERK6SkPathP12GrDrawTargetRK8SkTArrayI7SkPointLb1EEiPNS3_19AutoReleaseGeometryEP6SkRect
179}
180{
181    gpu_issue_9
182    Memcheck:Addr2
183    fun:_ZN21GrDefaultPathRenderer10createGeomERK6SkPathRK11SkStrokeRecfP12GrDrawTargetP15GrPrimitiveTypePiSA_PNS6_19AutoReleaseGeometryE
184}
185{
186    gpu_issue_10
187    Memcheck:Addr4
188    fun:_ZN22GrAAConvexPathRenderer10onDrawPathERK11SkStrokeRecP12GrDrawTargetb
189}
190{
191    gpu_issue_11
192    Memcheck:Addr2
193    fun:_ZN22GrAAConvexPathRenderer10onDrawPathERK11SkStrokeRecP12GrDrawTargetb
194}
195{
196    gpu_issue_12
197    Memcheck:Addr8
198    fun:_ZN22GrAAConvexPathRenderer10onDrawPathERK6SkPathRK11SkStrokeRecP12GrDrawTargetb
199}
200{
201    gpu_issue_13
202    Memcheck:Addr4
203    fun:_ZNK7SkPoint24distanceToLineBetweenSqdERKS_S1_PNS_4SideE
204    fun:_ZN22GrAAConvexPathRenderer10onDrawPathERK6SkPathRK11SkStrokeRecP12GrDrawTargetb
205}
206{
207    gpu_issue_14
208    Memcheck:Addr4
209    fun:_ZN22GrAAConvexPathRenderer10onDrawPathERK6SkPathRK11SkStrokeRecP12GrDrawTargetb
210}
211{
212    gpu_issue_15
213    Memcheck:Addr2
214    fun:_ZN22GrAAConvexPathRenderer10onDrawPathERK6SkPathRK11SkStrokeRecP12GrDrawTargetb
215}
216