libvips/suppressions/valgrind.supp

460 lines
5.8 KiB
Plaintext

# hide GObject type init allocs, they can only happen once and are not really
# leaks
{
type_init
Memcheck:Leak
fun:*alloc
...
fun:g_type_register_*
}
{
type_init2
Memcheck:Leak
fun:*alloc
...
fun:g_type_init_*
}
{
type_init3
Memcheck:Leak
fun:*alloc
...
fun:g_type_create_*
}
{
type_init4
Memcheck:Leak
fun:*alloc
...
fun:g_type_class_ref
}
{
type_init5
Memcheck:Leak
fun:*alloc
...
fun:g_type_add_interface_static
}
# module init does this
{
init7
Memcheck:Leak
...
fun:*alloc*
...
fun:_dl_init
}
# g_get_home_dir has a private buffer
{
gwd
Memcheck:Leak
fun:*alloc
...
fun:g_get_home_dir
}
# selinux on ubuntu generates a leak report we ignore
{
selinux
Memcheck:Leak
fun:*alloc
...
obj:/lib/libselinux.so.1
}
# gdk and x init
{
gdk_init
Memcheck:Leak
fun:*alloc
...
fun:gdk_display_open
}
{
x_init_ext
Memcheck:Leak
fun:*alloc
...
fun:XInitExtension
}
{
gio
Memcheck:Leak
fun:malloc
...
fun:g_simple_async_result_complete
}
{
pthread
Memcheck:Leak
fun:calloc
...
fun:_dl_allocate_tls
...
fun:pthread_create@@GLIBC_*
}
# hide all dbus reports, not the app's problem
{
dbus
Memcheck:Leak
fun:*alloc
...
obj:*/libdbus-1.so.*
}
# hide all orbit leaks, not our problem
{
orbit
Memcheck:Leak
fun:*alloc
...
fun:ORBit_*
}
# other lib init
{
fontconfig_init
Memcheck:Leak
fun:*alloc
...
fun:FcConfigParseAndLoad
}
{
fontconfig2
Memcheck:Leak
fun:malloc
fun:strdup
fun:FcValueSave
obj:*/libfontconfig.so.*
}
{
fontconfig3
Memcheck:Leak
fun:realloc
...
fun:FcFontMatch
}
{
fontconfig4
Memcheck:Leak
fun:realloc
...
fun:FcPatternAddInteger
}
{
fontconfig5
Memcheck:Leak
fun:realloc
...
fun:FcPatternDuplicate
}
{
fontconfig6
Memcheck:Leak
fun:realloc
...
fun:FcDefaultSubstitute
}
{
freetype_init
Memcheck:Leak
fun:*alloc
...
fun:FT_Open_Face
}
{
harfbuzz
Memcheck:Leak
fun:calloc
...
fun:hb_shape_plan_execute
}
{
goffice_init
Memcheck:Leak
fun:*alloc
...
fun:libgoffice_init
}
{
g_module_init
Memcheck:Leak
fun:*alloc
...
fun:g_module_open
}
{
gtk_module_init
Memcheck:Leak
fun:*alloc
...
fun:gtk_module_init
}
# gdk-x11 makes a toplevel object
{
gdk_x11_init
Memcheck:Leak
fun:*alloc
...
fun:_gdk_x11_window_get_toplevel
}
# the icon theme allocates stuff on lazy load
{
gtk_icon_theme_has_icon
Memcheck:Leak
fun:*alloc
...
fun:gtk_icon_theme_has_icon
}
# tooltip labels are not really owned by anyone and will not be freed on exit
{
gtk_tooltip_set_markup
Memcheck:Leak
fun:*alloc
...
fun:gtk_tooltip_set_markup
}
# pango makes a PangoLanguage for every script you use
{
pango_language
Memcheck:Leak
fun:*alloc
...
fun:pango_language_from_string
}
# pango makes a PangoOTRuleset for every font you use
{
pango_ot_ruleset_get_for_description
Memcheck:Leak
fun:*alloc
...
fun:pango_ot_ruleset_get_for_description
}
# pango makes a PangoOTInfo for every font you use
{
pango_ot_info_get
Memcheck:Leak
fun:*alloc
...
fun:pango_ot_info_get
}
# fonts pango has loaded
{
pango_fc_fontset_get_font_at
Memcheck:Leak
fun:*alloc
...
fun:pango_fc_fontset_get_font_at
}
# font maps pango has loaded
{
pango_fc_font_map_load_fontset
Memcheck:Leak
fun:*alloc
...
fun:pango_fc_font_map_load_fontset
}
# ... and font descriptions from every "sans 12" type string
{
pango_font_description_from_string
Memcheck:Leak
fun:*alloc
...
fun:pango_font_description_from_string
}
# gettext has annoying uninit warnings
{
gettext
Memcheck:Cond
fun:__GI___strcasecmp_l
...
fun:__dcigettext
}
{
gettext
Memcheck:Value8
fun:__GI___strcasecmp_l
...
fun:__dcigettext
}
# libz has a warning too ... see this from libpng / libxml2 etc.
{
libz
Memcheck:Cond
fun:inflateReset2
}
# libvips can generate this one spuriously
{
libvipswrite
Memcheck:Param
write(buf)
...
fun:write_vips
}
{
pixman1
Memcheck:Cond
...
fun:pixman_image_composite32
}
{
cairo1
Memcheck:Cond
fun:rsvg_cairo_surface_to_pixbuf
}
{
rsvg
Memcheck:Cond
obj:*/librsvg-2.so.*
}
{
murrine
Memcheck:Leak
fun:calloc
fun:g_malloc0
fun:raico_blur_create
}
{
signal_connect
Memcheck:Leak
fun:calloc
fun:g_malloc0
fun:g_closure_new_simple
fun:g_cclosure_new
fun:g_signal_connect_data
}
# ruby has some annoying ones too
{
ruby1
Memcheck:Cond
...
fun:rb_parser_compile_file
}
{
ruby2
Memcheck:Value8
...
fun:rb_parser_compile_file
}
{
ruby3
Memcheck:Cond
...
fun:rb_file_expand_path
}
{
ruby4
Memcheck:Value8
...
fun:rb_file_expand_path
}
{
ruby5
Memcheck:Value8
...
fun:rb_enc_str_new
}
# helgrind stuff ... run against glib-2.40.x or earlier, later glibs have
# their own mutex primitive which helgrind can't see
{
helgrind1
Helgrind:Race
fun:g_thread_proxy
...
fun:start_thread
fun:clone
}
{
helgrind2
Helgrind:Race
fun:strlen
fun:pthread_setname_np
fun:g_system_thread_set_name
fun:g_thread_proxy
...
fun:start_thread
fun:clone
}
# there's an unlocked assign FALSE which is fine
{
helgrind3
Helgrind:Race
fun:vips_region_prepare_to
}
# unlocked read of pixels-processed-so-far, which is fine
{
helgrind4
Helgrind:Race
fun:vips_sink_base_progress
}
{
helgrind4a
Helgrind:Race
fun:wbuffer_allocate_fn
}
# helgrind can't see g_private
{
helgrind5
Helgrind:Race
fun:g_private_set
}
# use of *stop from generate funcs is unlocked, but fine
{
helgrind6
Helgrind:Race
fun:vips_threadpool_run
}