blob: 7bffd29ae42a48b0151a435eef8e316b135ec947 [file] [log] [blame]
# There are three kinds of suppressions in this file.
# 1. Third party leaks we have no control over.
#
# 2. Intentional unit test errors, false positives
# in our own code, or leaks that are so trivial they are not worth fixing.
#
# 3. Suppressions for real WebKit bugs that are not yet fixed.
# These should all be in webkit's bug tracking system
# Periodically we should sweep this file and the bug tracker clean by
# running overnight and removing outdated bugs/suppressions.
#-----------------------------------------------------------------------
# 1. Third party leaks we have no control over.
{
# GTK developers don't like cleaning up one-time leaks.
# See http://mail.gnome.org/archives/gtk-devel-list/2004-April/msg00230.html.
gtk_init_check (Third Party)
Memcheck:Leak
...
fun:gtk_init_check
}
{
FcConfigParseAndLoad (Third Party)
Memcheck:Leak
...
fun:XML_ParseBuffer
fun:FcConfigParseAndLoad
}
{
FcConfigAppFontAddFile (Third Party)
Memcheck:Leak
...
fun:FcConfigAppFontAddFile
}
{
# See also http://www.gnome.org/~johan/gtk.suppression
# (which has a smattering of similar pango suppressions).
FcFontRenderPrepare 1 (Third Party)
Memcheck:Leak
...
fun:FcFontRenderPrepare
obj:*
fun:pango_font_map_load_fontset
}
{
FcFontRenderPrepare 2 (Third Party)
Memcheck:Leak
...
fun:FcFontRenderPrepare
...
fun:pango_itemize_with_base_dir
}
{
FcFontRenderPrepare 3 (Third Party)
Memcheck:Leak
...
fun:FcFontRenderPrepare
...
fun:pango_ot_buffer_output
}
{
FcFontRenderPrepare 4 (Third Party)
Memcheck:Leak
...
fun:FcFontRenderPrepare
...
fun:pango_context_get_metrics
}
{
FcDefaultSubstitute (Third Party)
Memcheck:Leak
...
fun:FcDefaultSubstitute
...
fun:pango_itemize_with_base_dir
}
{
# Reported in https://bugs.freedesktop.org/show_bug.cgi?id=8215.
FcPatternObjectInsertElt 1 (Third Party)
Memcheck:Leak
fun:malloc
fun:FcPatternObjectInsertElt
fun:FcPatternObjectAddWithBinding
}
{
# See https://bugs.freedesktop.org/show_bug.cgi?id=8428.
# and http://www.gnome.org/~johan/gtk.suppression.
FcPatternObjectInsertElt 2 (Third Party)
Memcheck:Leak
...
fun:realloc
fun:FcPatternObjectInsertElt
}
{
FcConfigValues (Third Party)
Memcheck:Leak
...
fun:malloc
fun:FcConfigValues
fun:FcConfigValues
...
fun:FcConfigValues
fun:FcConfigValues
}
{
FcCharSetSort (Third Party)
Memcheck:Leak
...
fun:FcFontSetSort
fun:FcFontSort
}
{
FcCharSetAddChar (Third Party)
Memcheck:Leak
...
fun:FcCharSetFindLeafCreate
fun:FcCharSetAddChar
}
{
pango_script_get_sample_language (Third Party)
Memcheck:Leak
fun:malloc
fun:g_malloc
fun:g_strdup
fun:pango_script_get_sample_language
...
fun:pango_font_get_metrics
}
{
# See http://sourceware.org/bugzilla/show_bug.cgi?id=12878.
dlopen (Third Party)
Memcheck:Leak
fun:calloc
fun:_dlerror_run
fun:dlopen@@GLIBC_2.1
}
{
# See also http://sources.redhat.com/bugzilla/show_bug.cgi?id=2451.
_dl_map_object_from_fd (Third Party)
Memcheck:Leak
fun:malloc
fun:_dl_map_object_from_fd
}
{
# See http://sources.redhat.com/bugzilla/show_bug.cgi?id=5171
pthread_create (Third Party)
Memcheck:Leak
fun:calloc
fun:allocate_dtv
fun:_dl_allocate_tls
fun:pthread_create@@GLIBC_2.1
}
{
# See http://sourceware.org/bugzilla/show_bug.cgi?id=14015.
dlsym (Third Party)
Memcheck:Leak
fun:calloc
fun:_dlerror_run
fun:dlsym
}
{
g_object_add_weak_pointer (Third Party)
Memcheck:Leak
...
fun:g_object_weak_ref
fun:g_object_add_weak_pointer
}
{
g_build_filename (Third Party)
Memcheck:Leak
fun:realloc
fun:g_realloc
fun:g_string_maybe_expand
fun:g_string_insert_len
fun:g_build_path_va
fun:g_build_filename
fun:_ZL15initializeFontsPKc
}
{
gtk_im_context_set_client_window (Third Party)
Memcheck:Leak
...
fun:malloc
fun:g_malloc
fun:g_strdup
fun:gtk_im_multicontext_set_client_window
fun:gtk_im_context_set_client_window
}
{
gtk_css_provider_load_from_data (Third Party)
Memcheck:Leak
fun:realloc
fun:g_realloc
fun:g_string_maybe_expand
fun:g_string_insert_c
fun:_gtk_css_parser_read_char
fun:_gtk_css_parser_try_ident
fun:bindings_value_parse_one
fun:_gtk_css_array_value_parse
fun:gtk_css_provider_load_internal
fun:gtk_css_provider_load_from_data
}
{
# GTK leaks an X11 window.
gdk_x11_drawable_get_xid (Third Party)
Memcheck:Leak
fun:malloc
fun:g_malloc
fun:g_slice_alloc
fun:g_slice_alloc0
fun:g_type_create_instance
fun:g_object_constructor
fun:g_object_newv
fun:g_object_new
fun:_gdk_window_impl_new
fun:gdk_window_ensure_native
fun:gdk_x11_drawable_get_xid
}
{
# GTK leaks a cairo context (large leak)
gtk_window_realize (Third Party)
Memcheck:Leak
fun:malloc
fun:_cairo_default_context_create
fun:set_grip_shape
fun:resize_grip_create_window
fun:gtk_window_realize
}
{
g_quark_from_static_string (Third party)
Memcheck:Leak
fun:malloc
fun:g_malloc
fun:g_quark_from_static_string
fun:gobject_init_ctor
fun:call_init.part.0
fun:_dl_init
obj:/lib/x86_64-linux-gnu/ld-2.15.so
obj:*
obj:*
obj:*
}
{
/bin/bash (Third Party)
Memcheck:Leak
...
obj:/bin/bash
}
{
libenchant.so new (Third party)
Memcheck:Leak
fun:_Znw*
...
obj:*/libenchant.so.1.6.0
fun:enchant_broker_dict_exists
}
{
libenchant.so malloc (Third party)
Memcheck:Leak
fun:*alloc
...
obj:*/libenchant.so.1.6.0
fun:enchant_broker_dict_exists
}
{
# Cairo leaks a pattern_t* in cairo_set_source_surface
cairo_set_source_surface (Third Party)
Memcheck:Leak
fun:malloc
fun:cairo_pattern_create_for_surface
fun:_cairo_default_context_set_source_surface
fun:cairo_set_source_surface
}
{
XRRFindDisplay (Third Party)
Memcheck:Leak
fun:malloc
fun:XRRFindDisplay
}
{
libflashplayer.so (Third Party)
Memcheck:Leak
...
obj:/usr/lib/flashplugin-installer/libflashplayer.so
}
{
gdk_init (Third Party)
Memcheck:Leak
fun:malloc
...
fun:_nl_find_domain
fun:__dcigettext
fun:gdk_screen_class_intern_init
fun:g_type_class_ref
fun:g_type_class_ref
fun:g_object_newv
fun:g_object_new
fun:_gdk_x11_screen_new
fun:gdk_display_open
fun:gdk_display_open_default_libgtk_only
fun:gdk_init_check
fun:gdk_init
}
{
XKeysymToString (Third Party)
Memcheck:Leak
fun:malloc
fun:XKeysymToString
}
{
g_thread_proxy (Third Party)
Memcheck:Leak
fun:*alloc
...
fun:g_thread_proxy
}
{
JNI_CreateJavaVM (Third party)
Memcheck:Leak
...
fun:JNI_CreateJavaVM
fun:JavaMain
}
{
_ZL10java_startP6Thread (Third party)
Memcheck:Leak
...
fun:_ZN8VMThread3runEv
fun:_ZL10java_startP6Thread
...
}
{
/bin/java (OpenJDK) (Third party)
Memcheck:Leak
...
obj:/usr/lib/jvm/java-6-openjdk-amd64/jre/bin/java
...
}
{
libGL.so (Third party)
Memcheck:Leak
...
obj:*/libGL.so.*
...
}
{
_cairo_xlib_shm_surface_create.isra.11 (Third Party)
Memcheck:Leak
fun:malloc
fun:_pixman_image_allocate
fun:pixman_image_create_bits
fun:_cairo_xlib_shm_surface_create.isra.11
}
{
__nss_database_lookup (Third Party)
Memcheck:Leak
fun:malloc
fun:nss_parse_service_list
fun:__nss_database_lookup
obj:*
}
{
gst_init_check (Third Party)
Memcheck:Leak
fun:malloc
fun:g_malloc
fun:g_intern_string
fun:_priv_gst_registry_chunks_load_plugin
fun:exchange_packets
fun:plugin_loader_load
fun:gst_registry_scan_plugin_file
fun:gst_registry_scan_path_level
fun:gst_registry_scan_path_internal
fun:gst_update_registry
fun:init_post
fun:g_option_context_parse
fun:gst_init_check
}
{
g_task_run_in_thread (Third Party)
Memcheck:Leak
fun:malloc
fun:g_malloc
fun:g_slice_alloc
fun:g_slice_alloc0
fun:g_system_thread_new
fun:g_thread_new_internal
fun:g_thread_pool_start_thread
fun:g_thread_pool_push
fun:g_task_start_task_thread
fun:g_task_run_in_thread
}
{
# Large leak in cairo_image_surface_create
_cairo_image_surface_create_with_pixman_format (Third Party)
Memcheck:Leak
fun:malloc
fun:_cairo_image_surface_create_for_pixman_image
fun:_cairo_image_surface_create_with_pixman_format
fun:_ZN7WebCore21copyCairoImageSurfaceEP14_cairo_surface
}
#-----------------------------------------------------------------------
# 2. Intentional unit test errors, false positives
# in our own code, or leaks that are so trivial they are not worth fixing.
{
# According to dglazkov, these are one-time leaks and intentional.
# They may go away if the change to move these off the heap lands.
WebCore::SVGNames::init (Intentional)
Memcheck:Leak
...
fun:_ZN7WebCore8SVGNames4initEv
}
{
# This is an on demand initialization which is done and then intentionally
# kept around (not freed) while the process is running.
WebCore::XMLNames::init (Intentional)
Memcheck:Leak
...
fun:_ZN7WebCore8XMLNames4initEv
}
{
# This is WebKit wide theading initialization which is intentionally kept
# around (not freed) while the process is running.
WTF::ThreadIdentifierData::initialize() (Intentional)
Memcheck:Leak
...
fun:_ZN3WTF20ThreadIdentifierData10initializeEj
}
{
# This is WebKit wide theading initialization which is intentionally kept
# around (not freed) while the process is running.
WTF::ThreadData (Intentional)
Memcheck:Leak
...
fun:_ZN3WTF13wtfThreadDataEv
}
{
WTF::BitVector (Intentional)
Memcheck:Leak
fun:malloc
fun:_ZN3WTF10fastMallocEm
fun:_ZN3WTF9BitVector13OutOfLineBits6createEm
fun:_ZN3WTF9BitVector15resizeOutOfLineEm
fun:_ZN3WTF9BitVector10ensureSizeEm
fun:_ZN3WTF9BitVectorC1Em
}
{
# WTF::ThreadSpecific leaks a few bytes at a time.
WTF::ThreadSpecific::set() (Intentional)
Memcheck:Leak
fun:_Znw*
fun:_ZN3WTF14ThreadSpecificIbE3setEPb
fun:_ZN3WTF14ThreadSpecificIbEcvPbEv
fun:_ZN3WTF14ThreadSpecificIbEdeEv
fun:_ZN3WTF16registerGCThreadEv
fun:_ZN3JSC8GCThread12gcThreadMainEv
fun:_ZN3JSC8GCThread17gcThreadStartFuncEPv
fun:_ZN3WTFL16threadEntryPointEPv
}
{
# DOMObjectCache memory is not freed.
webkit_dom_document_get_default_view (Intentional)
Memcheck:Leak
fun:malloc
fun:g_malloc
fun:g_slice_alloc
fun:_ZN6WebKit14DOMObjectCache3putEPvS1_
fun:_ZL33webkit_dom_dom_window_constructormjP22_GObjectConstructParam
fun:g_object_newv
fun:g_object_new_valist
fun:g_object_new
fun:_ZN6WebKit13wrapDOMWindowEPN7WebCore9DOMWindowE
fun:webkit_dom_document_get_default_view
}
#-----------------------------------------------------------------------
# 3. Suppressions for real webkit bugs that are not yet fixed.
# These should all be in webkit's bug tracking system (but a few aren't yet).
{
# Leak PluginObject in exceptional circumstances https://bugs.webkit.org/show_bug.cgi?id=118528
WebCore::PluginView::start()
Memcheck:Leak
fun:malloc
fun:_ZL14pluginAllocateP4_NPPP7NPClass
fun:_NPN_CreateObject
fun:NPP_New
fun:_ZN7WebCore10PluginView5startEv
}
{
Memcheck:Leak
fun:malloc
fun:_ZN3WTF10fastMallocEm
fun:_ZN3WTF10fastStrDupEPKc
fun:_ZN7WebCore12TextCodecICU14registerCodecsEPFvPKcPFN3WTF10PassOwnPtrINS_9TextCodecEEERKNS_12TextEncodingEPKvESB_E
}
{
# DumpRenderTree WebKitWebView is leaked
webViewCreate
Memcheck:Leak
fun:malloc
fun:g_malloc
fun:g_slice_alloc
fun:g_slist_prepend
fun:_ZL13webViewCreateP14_WebKitWebViewP15_WebKitWebFrame
fun:webkit_marshal_OBJECT__OBJECT
fun:g_closure_invoke
fun:signal_emit_unlocked_R
fun:g_signal_emit_valist
fun:g_signal_emit_by_name
fun:_ZN6WebKit12ChromeClient12createWindowEPN7WebCore5FrameERKNS1_16FrameLoadRequestERKNS1_14WindowFeaturesERKNS1_16NavigationActionE
fun:_ZNK7WebCore6Chrome12createWindowEPNS_5FrameERKNS_16FrameLoadRequestERKNS_14WindowFeaturesERKNS_16NavigationActionE
fun:_ZN7WebCore12createWindowEPNS_5FrameES1_RKNS_16FrameLoadRequestERKNS_14WindowFeaturesERb
fun:_ZN7WebCore9DOMWindow12createWindowERKN3WTF6StringERKNS1_12AtomicStringERKNS_14WindowFeaturesEPS0_PNS_5FrameESD_PFvSB_PvESE_
fun:_ZN7WebCore9DOMWindow4openERKN3WTF6StringERKNS1_12AtomicStringES4_PS0_S8_
fun:_ZN7WebCore11JSDOMWindow4openEPN3JSC9ExecStateE
fun:_ZN7WebCore32jsDOMWindowPrototypeFunctionOpenEPN3JSC9ExecStateE
}