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