Stop silencing leaks in TextCodecICU::registerCodecs, as the problem was fixed a...
[WebKit-https.git] / Tools / Scripts / valgrind / suppressions.txt
1 # There are three kinds of suppressions in this file.
2 # 1. Third party leaks we have no control over.
3 #
4 # 2. Intentional unit test errors, false positives
5 # in our own code, or leaks that are so trivial they are not worth fixing.
6 #
7 # 3. Suppressions for real WebKit bugs that are not yet fixed.
8 # These should all be in webkit's bug tracking system
9 # Periodically we should sweep this file and the bug tracker clean by
10 # running overnight and removing outdated bugs/suppressions.
11 #-----------------------------------------------------------------------
12
13 # 1. Third party leaks we have no control over.
14 {
15    # GTK developers don't like cleaning up one-time leaks.
16    # See http://mail.gnome.org/archives/gtk-devel-list/2004-April/msg00230.html.
17    gtk_init_check (Third Party)
18    Memcheck:Leak
19    ...
20    fun:gtk_init_check
21 }
22
23 {
24    FcConfigParseAndLoad (Third Party)
25    Memcheck:Leak
26    ...
27    fun:XML_ParseBuffer
28    fun:FcConfigParseAndLoad
29 }
30
31 {
32    FcConfigAppFontAddFile (Third Party)
33    Memcheck:Leak
34    ...
35    fun:FcConfigAppFontAddFile
36 }
37
38 {
39    # See also http://www.gnome.org/~johan/gtk.suppression
40    # (which has a smattering of similar pango suppressions).
41    FcFontRenderPrepare 1 (Third Party)
42    Memcheck:Leak
43    ...
44    fun:FcFontRenderPrepare
45    obj:*
46    fun:pango_font_map_load_fontset
47 }
48
49 {
50    FcFontRenderPrepare 2 (Third Party)
51    Memcheck:Leak
52    ...
53    fun:FcFontRenderPrepare
54    ...
55    fun:pango_itemize_with_base_dir
56 }
57
58 {
59    FcFontRenderPrepare 3 (Third Party)
60    Memcheck:Leak
61    ...
62    fun:FcFontRenderPrepare
63    ...
64    fun:pango_ot_buffer_output
65 }
66
67 {
68    FcFontRenderPrepare 4 (Third Party)
69    Memcheck:Leak
70    ...
71    fun:FcFontRenderPrepare
72    ...
73    fun:pango_context_get_metrics
74 }
75
76 {
77    FcDefaultSubstitute (Third Party)
78    Memcheck:Leak
79    ...
80    fun:FcDefaultSubstitute
81    ...
82    fun:pango_itemize_with_base_dir
83 }
84
85 {
86    # Reported in https://bugs.freedesktop.org/show_bug.cgi?id=8215.
87    FcPatternObjectInsertElt 1 (Third Party)
88    Memcheck:Leak
89    fun:malloc
90    fun:FcPatternObjectInsertElt
91    fun:FcPatternObjectAddWithBinding
92 }
93
94 {
95    # See https://bugs.freedesktop.org/show_bug.cgi?id=8428.
96    # and http://www.gnome.org/~johan/gtk.suppression.
97    FcPatternObjectInsertElt 2 (Third Party)
98    Memcheck:Leak
99    ...
100    fun:realloc
101    fun:FcPatternObjectInsertElt
102 }
103
104 {
105    FcConfigValues (Third Party)
106    Memcheck:Leak
107    ...
108    fun:malloc
109    fun:FcConfigValues
110    fun:FcConfigValues
111    ...
112    fun:FcConfigValues
113    fun:FcConfigValues
114 }
115
116 {
117    FcCharSetSort (Third Party)
118    Memcheck:Leak
119    ...
120    fun:FcFontSetSort
121    fun:FcFontSort
122 }
123
124 {
125    FcCharSetAddChar (Third Party)
126    Memcheck:Leak
127    ...
128    fun:FcCharSetFindLeafCreate
129    fun:FcCharSetAddChar
130 }
131
132 {
133    pango_script_get_sample_language (Third Party)
134    Memcheck:Leak
135    fun:malloc
136    fun:g_malloc
137    fun:g_strdup
138    fun:pango_script_get_sample_language
139    ...
140    fun:pango_font_get_metrics
141 }
142
143 {
144    # See http://sourceware.org/bugzilla/show_bug.cgi?id=12878.
145    dlopen (Third Party)
146    Memcheck:Leak
147    fun:calloc
148    fun:_dlerror_run
149    fun:dlopen@@GLIBC_2.1
150 }
151
152 {
153    # See also http://sources.redhat.com/bugzilla/show_bug.cgi?id=2451.
154    _dl_map_object_from_fd (Third Party)
155    Memcheck:Leak
156    fun:malloc
157    fun:_dl_map_object_from_fd
158 }
159
160 {
161    # See http://sources.redhat.com/bugzilla/show_bug.cgi?id=5171
162    pthread_create (Third Party)
163    Memcheck:Leak
164    fun:calloc
165    fun:allocate_dtv
166    fun:_dl_allocate_tls
167    fun:pthread_create@@GLIBC_2.1
168 }
169
170 {
171    # See http://sourceware.org/bugzilla/show_bug.cgi?id=14015.
172    dlsym (Third Party)
173    Memcheck:Leak
174    fun:calloc
175    fun:_dlerror_run
176    fun:dlsym
177 }
178
179 {
180    g_object_add_weak_pointer (Third Party)
181    Memcheck:Leak
182    ...
183    fun:g_object_weak_ref
184    fun:g_object_add_weak_pointer
185 }
186
187 {
188    g_build_filename (Third Party)
189    Memcheck:Leak
190    fun:realloc
191    fun:g_realloc
192    fun:g_string_maybe_expand
193    fun:g_string_insert_len
194    fun:g_build_path_va
195    fun:g_build_filename
196    fun:_ZL15initializeFontsPKc
197 }
198
199 {
200    gtk_im_context_set_client_window (Third Party)
201    Memcheck:Leak
202    ...
203    fun:malloc
204    fun:g_malloc
205    fun:g_strdup
206    fun:gtk_im_multicontext_get_slave
207    fun:gtk_im_multicontext_set_client_window
208    fun:gtk_im_context_set_client_window
209 }
210
211 {
212    gtk_css_provider_load_from_data (Third Party)
213    Memcheck:Leak
214    fun:realloc
215    fun:g_realloc
216    fun:g_string_maybe_expand
217    fun:g_string_insert_c
218    fun:_gtk_css_parser_read_char
219    fun:_gtk_css_parser_try_ident
220    fun:bindings_value_parse_one
221    fun:_gtk_css_array_value_parse
222    fun:gtk_css_provider_load_internal
223    fun:gtk_css_provider_load_from_data
224 }
225
226 {
227    # GTK leaks an X11 window.
228    gdk_x11_drawable_get_xid (Third Party)
229    Memcheck:Leak
230    fun:malloc
231    fun:g_malloc
232    fun:g_slice_alloc
233    fun:g_slice_alloc0
234    fun:g_type_create_instance
235    fun:g_object_constructor
236    fun:g_object_newv
237    fun:g_object_new
238    fun:_gdk_window_impl_new
239    fun:gdk_window_ensure_native
240    fun:gdk_x11_drawable_get_xid
241 }
242
243 {
244    # GTK leaks a cairo context (large leak)
245    gtk_window_realize (Third Party)
246    Memcheck:Leak
247    fun:malloc
248    fun:_cairo_default_context_create
249    fun:set_grip_shape
250    fun:resize_grip_create_window
251    fun:gtk_window_realize
252 }
253
254 {
255    g_quark_from_static_string (Third party)
256    Memcheck:Leak
257    fun:malloc
258    fun:g_malloc
259    fun:g_quark_from_static_string
260    fun:gobject_init_ctor
261    fun:call_init.part.0
262    fun:_dl_init
263    obj:/lib/x86_64-linux-gnu/ld-2.15.so
264    obj:*
265    obj:*
266    obj:*
267 }
268
269 {
270    /bin/bash (Third Party)
271    Memcheck:Leak
272    ...
273    obj:/bin/bash
274 }
275
276 {
277    libenchant.so new (Third party)
278    Memcheck:Leak
279    fun:_Znw*
280    ...
281    obj:*/libenchant.so.1.6.0
282    fun:enchant_broker_dict_exists
283 }
284
285 {
286    libenchant.so malloc (Third party)
287    Memcheck:Leak
288    fun:*alloc
289    ...
290    obj:*/libenchant.so.1.6.0
291    fun:enchant_broker_dict_exists
292 }
293
294 {
295    # Cairo leaks a pattern_t* in cairo_set_source_surface
296    cairo_set_source_surface (Third Party)
297    Memcheck:Leak
298    fun:malloc
299    fun:cairo_pattern_create_for_surface
300    fun:_cairo_default_context_set_source_surface
301    fun:cairo_set_source_surface
302 }
303
304 {
305    XRRFindDisplay (Third Party)
306    Memcheck:Leak
307    fun:malloc
308    fun:XRRFindDisplay
309 }
310 {
311    libflashplayer.so (Third Party)
312    Memcheck:Leak
313    ...
314    obj:/usr/lib/flashplugin-installer/libflashplayer.so
315 }
316
317 {
318    gdk_init (Third Party)
319    Memcheck:Leak
320    fun:malloc
321    ...
322    fun:_nl_find_domain
323    fun:__dcigettext
324    fun:gdk_screen_class_intern_init
325    fun:g_type_class_ref
326    fun:g_type_class_ref
327    fun:g_object_newv
328    fun:g_object_new
329    fun:_gdk_x11_screen_new
330    fun:gdk_display_open
331    fun:gdk_display_open_default_libgtk_only
332    fun:gdk_init_check
333    fun:gdk_init
334 }
335
336 {
337    XKeysymToString (Third Party)
338    Memcheck:Leak
339    fun:malloc
340    fun:XKeysymToString
341 }
342
343 {
344    g_thread_proxy (Third Party)
345    Memcheck:Leak
346    fun:*alloc
347    ...
348    fun:g_thread_proxy
349 }
350
351 {
352    JNI_CreateJavaVM (Third party)
353    Memcheck:Leak
354    ...
355    fun:JNI_CreateJavaVM
356    fun:JavaMain
357 }
358
359 {
360    _ZL10java_startP6Thread (Third party)
361    Memcheck:Leak
362    ...
363    fun:_ZN8VMThread3runEv
364    fun:_ZL10java_startP6Thread
365    ...
366
367 }
368
369 {
370    /bin/java (OpenJDK) (Third party)
371    Memcheck:Leak
372    ...
373    obj:/usr/lib/jvm/java-6-openjdk-amd64/jre/bin/java
374    ...
375 }
376
377 {
378    libGL.so (Third party)
379    Memcheck:Leak
380    ...
381    obj:*/libGL.so.*
382    ...
383 }
384
385 {
386    _cairo_xlib_shm_surface_create.isra.11 (Third Party)
387    Memcheck:Leak
388    fun:malloc
389    fun:_pixman_image_allocate
390    fun:pixman_image_create_bits
391    fun:_cairo_xlib_shm_surface_create.isra.11
392 }
393
394 {
395    __nss_database_lookup (Third Party)
396    Memcheck:Leak
397    fun:malloc
398    fun:nss_parse_service_list
399    fun:__nss_database_lookup
400    obj:*
401 }
402
403 {
404    gst_init_check (Third Party)
405    Memcheck:Leak
406    fun:malloc
407    fun:g_malloc
408    fun:g_intern_string
409    fun:_priv_gst_registry_chunks_load_plugin
410    fun:exchange_packets
411    fun:plugin_loader_load
412    fun:gst_registry_scan_plugin_file
413    fun:gst_registry_scan_path_level
414    fun:gst_registry_scan_path_internal
415    fun:gst_update_registry
416    fun:init_post
417    fun:g_option_context_parse
418    fun:gst_init_check
419
420 }
421
422 {
423    g_task_run_in_thread (Third Party)
424    Memcheck:Leak
425    fun:malloc
426    fun:g_malloc
427    fun:g_slice_alloc
428    fun:g_slice_alloc0
429    fun:g_system_thread_new
430    fun:g_thread_new_internal
431    fun:g_thread_pool_start_thread
432    fun:g_thread_pool_push
433    fun:g_task_start_task_thread
434    fun:g_task_run_in_thread
435 }
436
437 {
438    # Large leak in cairo_image_surface_create
439    _cairo_image_surface_create_with_pixman_format (Third Party)
440    Memcheck:Leak
441    fun:malloc
442    fun:_cairo_image_surface_create_for_pixman_image
443    fun:_cairo_image_surface_create_with_pixman_format
444    fun:_ZN7WebCore21copyCairoImageSurfaceEP14_cairo_surface
445 }
446
447
448 #-----------------------------------------------------------------------
449 # 2. Intentional unit test errors, false positives
450 # in our own code, or leaks that are so trivial they are not worth fixing.
451
452 {
453    # According to dglazkov, these are one-time leaks and intentional.
454    # They may go away if the change to move these off the heap lands.
455    WebCore::SVGNames::init (Intentional)
456    Memcheck:Leak
457    ...
458    fun:_ZN7WebCore8SVGNames4initEv
459 }
460
461 {
462    # This is an on demand initialization which is done and then intentionally
463    # kept around (not freed) while the process is running.
464    WebCore::XMLNames::init (Intentional)
465    Memcheck:Leak
466    ...
467    fun:_ZN7WebCore8XMLNames4initEv
468 }
469
470 {
471    # This is WebKit wide theading initialization which is intentionally kept
472    # around (not freed) while the process is running.
473    WTF::ThreadIdentifierData::initialize() (Intentional)
474    Memcheck:Leak
475    ...
476    fun:_ZN3WTF20ThreadIdentifierData10initializeEj
477 }
478
479 {
480    # This is WebKit wide theading initialization which is intentionally kept
481    # around (not freed) while the process is running.
482    WTF::ThreadData (Intentional)
483    Memcheck:Leak
484    ...
485    fun:_ZN3WTF13wtfThreadDataEv
486 }
487
488 {
489    WTF::BitVector (Intentional)
490    Memcheck:Leak
491    fun:malloc
492    fun:_ZN3WTF10fastMallocEm
493    fun:_ZN3WTF9BitVector13OutOfLineBits6createEm
494    fun:_ZN3WTF9BitVector15resizeOutOfLineEm
495    fun:_ZN3WTF9BitVector10ensureSizeEm
496    fun:_ZN3WTF9BitVectorC1Em
497 }
498
499 {
500    # WTF::ThreadSpecific leaks a few bytes at a time.
501    WTF::ThreadSpecific::set() (Intentional)
502    Memcheck:Leak
503    fun:_Znw*
504    fun:_ZN3WTF14ThreadSpecificIbE3setEPb
505    fun:_ZN3WTF14ThreadSpecificIbEcvPbEv
506    fun:_ZN3WTF14ThreadSpecificIbEdeEv
507    fun:_ZN3WTF16registerGCThreadEv
508    fun:_ZN3JSC8GCThread12gcThreadMainEv
509    fun:_ZN3JSC8GCThread17gcThreadStartFuncEPv
510    fun:_ZN3WTFL16threadEntryPointEPv
511 }
512
513 {
514    # DOMObjectCache memory is not freed.
515    webkit_dom_document_get_default_view (Intentional)
516    Memcheck:Leak
517    fun:malloc
518    fun:g_malloc
519    fun:g_slice_alloc
520    fun:_ZN6WebKit14DOMObjectCache3putEPvS1_
521    fun:_ZL33webkit_dom_dom_window_constructormjP22_GObjectConstructParam
522    fun:g_object_newv
523    fun:g_object_new_valist
524    fun:g_object_new
525    fun:_ZN6WebKit13wrapDOMWindowEPN7WebCore9DOMWindowE
526    fun:webkit_dom_document_get_default_view
527  }
528
529 #-----------------------------------------------------------------------
530 # 3. Suppressions for real webkit bugs that are not yet fixed.
531 # These should all be in webkit's bug tracking system (but a few aren't yet).
532
533 {
534    # AtkProperty is cached but not released (see https://bugs.webkit.org/show_bug.cgi?id=118567#c2).
535    cacheAndReturnAtkProperty
536    Memcheck:Leak
537    fun:malloc
538    fun:_ZN3WTF10fastMallocEm
539    fun:_ZN3WTF13CStringBuffer19createUninitializedEm
540    fun:_ZN3WTF7CString4initEPKcm
541    fun:_ZN3WTF7CStringC1EPKcm
542    fun:_ZNK3WTF6String4utf8ENS0_14ConversionModeE
543    fun:cacheAndReturnAtkProperty
544 }
545
546 {
547    # AtkRelationSet is never freed because the target AtkObject is
548    # cached. See https://bugs.webkit.org/show_bug.cgi?id=118567.
549    AccessibilityUIElement::title()
550    Memcheck:Leak
551    fun:malloc
552    ...
553    fun:g_object_weak_ref
554    fun:atk_relation_set_property
555    fun:g_object_newv
556    fun:g_object_new_valist
557    fun:g_object_new
558    fun:atk_relation_new
559    fun:atk_relation_set_add_relation_by_type
560    fun:_ZL31setAtkRelationSetFromCoreObjectPN7WebCore19AccessibilityObjectEP15_AtkRelationSet
561    fun:_ZL30webkitAccessibleRefRelationSetP10_AtkObject
562    fun:_ZN22AccessibilityUIElement14titleUIElementEv
563 }
564
565 {
566    # Leak in webkitAccessibleNew https://bugs.webkit.org/show_bug.cgi?id=118382
567    webkitAccessibleNew
568    Memcheck:Leak
569    fun:*alloc
570    ...
571    fun:webkitAccessibleNew
572 }
573
574 {
575    # Leak ATK text https://bugs.webkit.org/show_bug.cgi?id=118385
576    webkitAccessibleTextGetText
577    Memcheck:Leak
578    fun:malloc
579    fun:g_malloc
580    fun:g_strdup
581    fun:_ZL27webkitAccessibleTextGetTextP8_AtkTextii
582    fun:_ZL23webkitAccessibleGetNameP10_AtkObject
583 }
584
585 {
586    # Leak PluginObject in exceptional circumstances https://bugs.webkit.org/show_bug.cgi?id=118528
587    WebCore::PluginView::start()
588    Memcheck:Leak
589    fun:malloc
590    fun:_ZL14pluginAllocateP4_NPPP7NPClass
591    fun:_NPN_CreateObject
592    fun:NPP_New
593    fun:_ZN7WebCore10PluginView5startEv
594 }
595
596 {
597    Memcheck:Leak
598    fun:malloc
599    fun:_ZN3WTF10fastMallocEm
600    fun:_ZN3WTF10fastStrDupEPKc
601    fun:_ZN7WebCore12TextCodecICU14registerCodecsEPFvPKcPFN3WTF10PassOwnPtrINS_9TextCodecEEERKNS_12TextEncodingEPKvESB_E
602 }
603
604 {
605    # DumpRenderTree WebKitWebView is leaked
606    webViewCreate
607    Memcheck:Leak
608    fun:malloc
609    fun:g_malloc
610    fun:g_slice_alloc
611    fun:g_slist_prepend
612    fun:_ZL13webViewCreateP14_WebKitWebViewP15_WebKitWebFrame
613    fun:webkit_marshal_OBJECT__OBJECT
614    fun:g_closure_invoke
615    fun:signal_emit_unlocked_R
616    fun:g_signal_emit_valist
617    fun:g_signal_emit_by_name
618    fun:_ZN6WebKit12ChromeClient12createWindowEPN7WebCore5FrameERKNS1_16FrameLoadRequestERKNS1_14WindowFeaturesERKNS1_16NavigationActionE
619    fun:_ZNK7WebCore6Chrome12createWindowEPNS_5FrameERKNS_16FrameLoadRequestERKNS_14WindowFeaturesERKNS_16NavigationActionE
620    fun:_ZN7WebCore12createWindowEPNS_5FrameES1_RKNS_16FrameLoadRequestERKNS_14WindowFeaturesERb
621    fun:_ZN7WebCore9DOMWindow12createWindowERKN3WTF6StringERKNS1_12AtomicStringERKNS_14WindowFeaturesEPS0_PNS_5FrameESD_PFvSB_PvESE_
622    fun:_ZN7WebCore9DOMWindow4openERKN3WTF6StringERKNS1_12AtomicStringES4_PS0_S8_
623    fun:_ZN7WebCore11JSDOMWindow4openEPN3JSC9ExecStateE
624    fun:_ZN7WebCore32jsDOMWindowPrototypeFunctionOpenEPN3JSC9ExecStateE
625  }