xref: /aosp_15_r20/external/skia/tools/valgrind.supp (revision c8dee2aa9b3f27cf6c858bd81872bdeb2c07ed17)
1# Pass this file to Valgrind with "--suppressions=tools/valgrind.supp"
2
3# Intentional thread / memory leak in nanobench.
4{
5   nanobench_keepalive_thread_leak
6   Memcheck:Leak
7   match-leak-kinds: possible,definite
8   ...
9   fun:start_keepalive
10   ...
11   fun:main
12}
13{
14   nanobench_keepalive_thread_leak2
15   Memcheck:Leak
16   match-leak-kinds: possible,definite
17   ...
18   fun:_ZNSt6threadC2IZL15start_keepalivevE3$_0JEvEEOT_DpOT0_
19   ...
20   fun:main
21}
22{
23   nanobench_keepalive_thread_leak3
24   Memcheck:Leak
25   match-leak-kinds: possible,definite
26   ...
27   fun:_ZNSt6thread15_M_start_threadESt10unique_ptrINS_6_StateESt14default_deleteIS1_EEPFvvE
28   ...
29   fun:main
30}
31{
32   new_SkNullWStream
33   Memcheck:Leak
34   match-leak-kinds: definite
35   fun:_Znwm
36   fun:main
37}
38
39# Third party lib, driver issues.
40{
41    ati_driver_bug_1
42    Memcheck:Param
43    ioctl(generic)
44    fun:ioctl
45    ...
46    obj:/usr/lib/x86_64-linux-gnu/dri/fglrx_dri.so
47}
48{
49    ati_driver_bug_2
50    Memcheck:Cond
51    obj:/usr/lib/x86_64-linux-gnu/dri/fglrx_dri.so
52}
53{
54    ati_driver_bug_3
55    Memcheck:Addr8
56    ...
57    obj:/usr/lib/x86_64-linux-gnu/dri/fglrx_dri.so
58}
59{
60    ati_driver_bug_4
61    Memcheck:Addr4
62    ...
63    obj:/usr/lib/x86_64-linux-gnu/dri/fglrx_dri.so
64}
65{
66    ati_driver_bug_5
67    Memcheck:Addr2
68    ...
69    obj:/usr/lib/x86_64-linux-gnu/dri/fglrx_dri.so
70}
71{
72    ati_driver_bug_6
73    Memcheck:Addr1
74    ...
75    obj:/usr/lib/x86_64-linux-gnu/dri/fglrx_dri.so
76}
77{
78    ati_driver_bug_7
79    Memcheck:Leak
80    fun:malloc
81    obj:/usr/lib/x86_64-linux-gnu/dri/fglrx_dri.so
82}
83{
84    driver_bug_8
85    Memcheck:Overlap
86    fun:strcpy
87    obj:/usr/lib/x86_64-linux-gnu/dri/fglrx_dri.so
88}
89{
90    ati_driver_bug_9
91    Memcheck:Leak
92    fun:calloc
93    obj:/usr/lib/x86_64-linux-gnu/dri/fglrx_dri.so
94}
95{
96    ati_driver_bug_10
97    Memcheck:Leak
98    fun:malloc
99    obj:/usr/lib/fglrx/fglrx-libGL.so.1.2
100}
101{
102    nv_driver_bug_1
103    Memcheck:Param
104    write(buf)
105    ...
106    obj:*/libnvidia-glcore.so*
107}
108{
109    nv_driver_bug_2
110    Memcheck:Cond
111    ...
112    obj:*/libnvidia-glcore.so*
113}
114{
115    nv_driver_bug_3
116    Memcheck:Leak
117    fun:calloc
118    obj:/usr/lib*/libGL.so*
119}
120{
121   nv_driver_bug_4
122   Memcheck:Param
123   sendmsg(msg.msg_iov[0])
124   fun:sendmsg
125   obj:*/libGLX_nvidia.so*
126}
127{
128   nv_driver_bug_5
129   Memcheck:Leak
130   fun:malloc
131   ...
132   obj:*/libGLX_nvidia.so*
133}
134{
135    nv_driver_bug_6
136    Memcheck:Leak
137    fun:calloc
138    ...
139    obj:*/libGLX_nvidia.so*
140}
141{
142    nv_driver_bug_7
143    Memcheck:Leak
144    fun:realloc
145    ...
146    obj:*/libGLX_nvidia.so*
147}
148{
149    #Fixed by FontConfig 2.9.0
150    #http://cgit.freedesktop.org/fontconfig/commit/?id=1c475d5c8cb265ac939d6b9e097666e300162511
151    font_config_bug_1
152    Memcheck:Addr4
153    fun:FcConfigFileExists
154}
155{
156    #https://bugs.freedesktop.org/show_bug.cgi?id=8215
157    #https://bugs.freedesktop.org/show_bug.cgi?id=8428
158    #FcPattern uses 'intptr_t elts_offset' instead of 'FcPatternEltPtr elts',
159    #which confuses valgrind.
160    font_config_bug_2
161    Memcheck:Leak
162    fun:*alloc
163    ...
164    fun:Fc*Add*
165}
166{
167    #Same root cause as font_config_bug_2.
168    #The 'leak' here is a copy of rule values, as opposed to new values.
169    font_config_bug_3
170    Memcheck:Leak
171    fun:*alloc
172    ...
173    fun:FcConfigValues
174    fun:FcConfigSubstituteWithPat
175    fun:FcFontRenderPrepare
176}
177{
178    #Same root cause as font_config_bug_2.
179    #The 'leak' is copies of font or pattern values into returned pattern values.
180    font_config_bug_4
181    Memcheck:Leak
182    fun:*alloc
183    ...
184    fun:FcValue*
185    fun:FcFontRenderPrepare
186}
187{
188   font_config_bug_5
189   Memcheck:Leak
190   fun:malloc
191   obj:*/libfontconfig.so.1.8.0
192   fun:FcConfigSubstituteWithPat
193}
194{
195   font_config_bug_6
196   Memcheck:Leak
197   fun:*alloc
198   ...
199   obj:*/libfontconfig.so.1.8.0
200   fun:FcFont*
201}
202{
203    zlib_bug_1
204    Memcheck:Cond
205    fun:inflateReset2
206    fun:inflateInit2_
207    fun:png_create_read_struct_2
208    fun:png_create_read_struct
209}
210{
211    zlib_bug_2
212    Memcheck:Cond
213    fun:inflateReset2
214    fun:inflateInit2_
215    fun:_ZN12_GLOBAL__N_17doFlateEbP8SkStreamP9SkWStream
216    fun:_ZN7SkFlate7InflateEP8SkStreamP9SkWStream
217}
218
219# Why is it OK to suppress this?
220{
221    SkRTConfRegistry_bug_1
222    Memcheck:Leak
223    fun:_Znwm
224    fun:_ZN16SkRTConfRegistry12registerConfEP12SkRTConfBase
225}
226
227# The gpu_issue_* suppressions suppress issues that cannot be reproduced locally. These appear to be
228# due to valgrind not knowing about memory mapped by the ATI driver via glMapBuffer.
229{
230    gpu_issue_1
231    Memcheck:Addr2
232    fun:_ZNK5GrGpu18getQuadIndexBufferEv
233}
234{
235    gpu_issue_2
236    Memcheck:Addr2
237    fun:_ZN24GrAAHairLinePathRenderer6CreateEP9GrContext
238}
239{
240    gpu_issue_3
241    Memcheck:Addr2
242    fun:_ZN16GrAARectRenderer21aaFillRectIndexBufferEP5GrGpu
243}
244{
245    gpu_issue_4
246    Memcheck:Addr8
247    fun:_ZN24GrAAHairLinePathRenderer14createLineGeomERK6SkPathP12GrDrawTargetRK8SkTArrayI7SkPointLb1EEiPNS3_19AutoReleaseGeometryEP6SkRect
248}
249{
250    gpu_issue_5
251    Memcheck:Addr8
252    fun:_ZN21GrDefaultPathRenderer10createGeomERK6SkPathRK11SkStrokeRecfP12GrDrawTargetP15GrPrimitiveTypePiSA_PNS6_19AutoReleaseGeometryE
253}
254{
255    gpu_issue_6
256    Memcheck:Addr8
257    fun:_ZN22GrAAConvexPathRenderer10onDrawPathERK11SkStrokeRecP12GrDrawTargetb
258}
259{
260    gpu_issue_7
261    Memcheck:Addr4
262    fun:_ZNK7SkPoint24distanceToLineBetweenSqdERKS_S1_PNS_4SideE
263    fun:_ZN22GrAAConvexPathRenderer10onDrawPathERK11SkStrokeRecP12GrDrawTargetb
264}
265{
266    gpu_issue_8
267    Memcheck:Addr4
268    fun:_ZN24GrAAHairLinePathRenderer14createLineGeomERK6SkPathP12GrDrawTargetRK8SkTArrayI7SkPointLb1EEiPNS3_19AutoReleaseGeometryEP6SkRect
269}
270{
271    gpu_issue_9
272    Memcheck:Addr2
273    fun:_ZN21GrDefaultPathRenderer10createGeomERK6SkPathRK11SkStrokeRecfP12GrDrawTargetP15GrPrimitiveTypePiSA_PNS6_19AutoReleaseGeometryE
274}
275{
276    gpu_issue_10
277    Memcheck:Addr4
278    fun:_ZN22GrAAConvexPathRenderer10onDrawPathERK11SkStrokeRecP12GrDrawTargetb
279}
280{
281    gpu_issue_11
282    Memcheck:Addr2
283    fun:_ZN22GrAAConvexPathRenderer10onDrawPathERK11SkStrokeRecP12GrDrawTargetb
284}
285{
286    gpu_issue_12
287    Memcheck:Addr8
288    fun:_ZN22GrAAConvexPathRenderer10onDrawPathERK6SkPathRK11SkStrokeRecP12GrDrawTargetb
289}
290{
291    gpu_issue_13
292    Memcheck:Addr4
293    fun:_ZNK7SkPoint24distanceToLineBetweenSqdERKS_S1_PNS_4SideE
294    fun:_ZN22GrAAConvexPathRenderer10onDrawPathERK6SkPathRK11SkStrokeRecP12GrDrawTargetb
295}
296{
297    gpu_issue_14
298    Memcheck:Addr4
299    fun:_ZN22GrAAConvexPathRenderer10onDrawPathERK6SkPathRK11SkStrokeRecP12GrDrawTargetb
300}
301{
302    gpu_issue_15
303    Memcheck:Addr2
304    fun:_ZN22GrAAConvexPathRenderer10onDrawPathERK6SkPathRK11SkStrokeRecP12GrDrawTargetb
305}
306{
307    libjpeg_turbo_bug4550_1
308    Memcheck:Cond
309    fun:_Z26S32A_Opaque_BlitRow32_SSE4PjPKjij
310    fun:_ZN14Sprite_D32_S328blitRectEiiii
311}
312{
313    libjpeg_turbo_bug4550_2
314    Memcheck:Cond
315    fun:_ZL15S32A_D565_BlendPtPKjijii
316    fun:_ZN26Sprite_D16_S32_BlitRowProc8blitRectEiiii
317}
318{
319    libjpeg_turbo_bug4550_3
320    Memcheck:Cond
321    fun:_ZN12_GLOBAL__N_120ConvolveHorizontallyILb0EEEvPKhRK21SkConvolutionFilter1DPh
322    fun:_Z14BGRAConvolve2DPKhibRK21SkConvolutionFilter1DS3_iPhRK18SkConvolutionProcsb
323}
324#Something odd is happening in SkRasterPipeline when called by GrConvertPixels and GrClearImage.
325#It seems bogus after investigation. MSAN/ASAN have no complaints. It's complaining about
326#conditional jump or use of var that is "uninitialized" but it definitely is.
327{
328   grconvertpixels_rasterpipeline
329   Memcheck:Cond
330   ...
331   fun:_ZNK16SkRasterPipeline3runEmmmm
332   fun:_Z15GrConvertPixelsRK11GrImageInfoPvmS1_PKvmb
333   ...
334}
335{
336   grconvertpixels_rasterpipeline
337   Memcheck:Value8
338   ...
339   fun:_ZNK16SkRasterPipeline3runEmmmm
340   fun:_Z15GrConvertPixelsRK11GrImageInfoPvmS1_PKvmb
341   ...
342}
343{
344   grclearimage_rasterpipeline
345   Memcheck:Cond
346   ...
347   fun:_ZNK16SkRasterPipeline3runEmmmm
348   fun:_Z12GrClearImageRK11GrImageInfoPvm8SkRGBA4fIL11SkAlphaType3EE
349   ...
350}
351{
352   grclearimage_rasterpipeline
353   Memcheck:Value8
354   ...
355   fun:_ZNK16SkRasterPipeline3runEmmmm
356   fun:_Z12GrClearImageRK11GrImageInfoPvm8SkRGBA4fIL11SkAlphaType3EE
357   ...
358}
359{
360   make_get_error_with_random_oom1
361   Memcheck:Leak
362   match-leak-kinds: definite
363   ...
364   fun:_Z30make_get_error_with_random_oom12GrGLFunctionIFjvEE
365   ...
366}
367{
368   make_get_error_with_random_oom2
369   Memcheck:Leak
370   match-leak-kinds: definite
371   ...
372   fun:make_get_error_with_random_oom
373   ...
374}
375{
376   make_get_error_with_random_oom3
377   Memcheck:Leak
378   match-leak-kinds: definite
379   fun:_Znwm
380   fun:_ZN15GrDirectContext6MakeGLE5sk_spIK13GrGLInterfaceERK16GrContextOptions
381   fun:_ZN11sk_gpu_test16GrContextFactory22getContextInfoInternalENS0_11ContextTypeENS0_16ContextOverridesEP15GrDirectContextj
382   fun:_ZN11sk_gpu_test16GrContextFactory3getENS0_11ContextTypeENS0_16ContextOverridesE
383   fun:_ZL20test_GrContext_oomedPN8skiatest8ReporterERK16GrContextOptions
384   fun:_ZNK8skiatest4Test6ganeshEPNS_8ReporterERK16GrContextOptions
385   fun:main
386}
387