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