2014-01-14 13:12:01 +01:00
|
|
|
# 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
|
|
|
|
...
|
2014-01-28 15:51:30 +01:00
|
|
|
fun:*alloc*
|
2014-01-14 13:12:01 +01:00
|
|
|
...
|
|
|
|
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
|
|
|
|
}
|
|
|
|
|
2014-01-28 15:51:30 +01:00
|
|
|
{
|
|
|
|
gio
|
|
|
|
Memcheck:Leak
|
|
|
|
fun:malloc
|
|
|
|
...
|
|
|
|
fun:g_simple_async_result_complete
|
|
|
|
}
|
|
|
|
|
|
|
|
{
|
|
|
|
pthread
|
|
|
|
Memcheck:Leak
|
|
|
|
fun:calloc
|
|
|
|
fun:_dl_allocate_tls
|
|
|
|
fun:pthread_create@@GLIBC_*
|
|
|
|
}
|
|
|
|
|
2014-01-14 13:12:01 +01:00
|
|
|
# hide all dbus reports, not the app's problem
|
|
|
|
{
|
|
|
|
dbus
|
|
|
|
Memcheck:Leak
|
|
|
|
fun:*alloc
|
|
|
|
...
|
2014-01-28 15:51:30 +01:00
|
|
|
obj:*/libdbus-1.so.*
|
2014-01-14 13:12:01 +01:00
|
|
|
}
|
|
|
|
|
|
|
|
# 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
|
|
|
|
}
|
|
|
|
|
2014-01-28 15:51:30 +01:00
|
|
|
{
|
|
|
|
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
|
|
|
|
}
|
|
|
|
|
2017-03-25 12:25:00 +01:00
|
|
|
{
|
|
|
|
fontconfig5
|
|
|
|
Memcheck:Leak
|
|
|
|
fun:realloc
|
|
|
|
...
|
|
|
|
fun:FcPatternDuplicate
|
|
|
|
}
|
|
|
|
|
|
|
|
{
|
|
|
|
fontconfig6
|
|
|
|
Memcheck:Leak
|
|
|
|
fun:realloc
|
|
|
|
...
|
|
|
|
fun:FcDefaultSubstitute
|
|
|
|
}
|
|
|
|
|
2014-01-14 13:12:01 +01:00
|
|
|
{
|
|
|
|
freetype_init
|
|
|
|
Memcheck:Leak
|
|
|
|
fun:*alloc
|
|
|
|
...
|
|
|
|
fun:FT_Open_Face
|
|
|
|
}
|
|
|
|
|
2014-01-28 15:51:30 +01:00
|
|
|
{
|
|
|
|
harfbuzz
|
|
|
|
Memcheck:Leak
|
|
|
|
fun:calloc
|
|
|
|
...
|
|
|
|
fun:hb_shape_plan_execute
|
|
|
|
}
|
|
|
|
|
2014-01-14 13:12:01 +01:00
|
|
|
{
|
|
|
|
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
|
|
|
|
}
|
|
|
|
|
2014-01-28 15:51:30 +01:00
|
|
|
{
|
|
|
|
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
|
|
|
|
}
|
|
|
|
|
2014-01-14 13:12:01 +01:00
|
|
|
# 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
|
|
|
|
}
|
|
|
|
|
2014-02-08 15:14:53 +01:00
|
|
|
{
|
|
|
|
ruby5
|
|
|
|
Memcheck:Value8
|
|
|
|
...
|
|
|
|
fun:rb_enc_str_new
|
|
|
|
}
|
|
|
|
|
2017-03-25 14:37:05 +01:00
|
|
|
|
2017-03-27 11:05:03 +02:00
|
|
|
# helgrind stuff ... run against glib-2.40.x or earlier, later glibs have
|
|
|
|
# their own mutex primitive which helgrind can't see
|
2017-03-25 14:37:05 +01:00
|
|
|
|
|
|
|
{
|
|
|
|
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
|
|
|
|
}
|
|
|
|
|
2017-03-27 11:05:03 +02:00
|
|
|
# there's an unlocked assign FALSE which is fine
|
2017-03-25 14:37:05 +01:00
|
|
|
{
|
|
|
|
helgrind3
|
|
|
|
Helgrind:Race
|
2017-03-27 11:05:03 +02:00
|
|
|
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
|
2017-03-25 14:37:05 +01:00
|
|
|
fun:g_private_set
|
|
|
|
}
|
2017-03-27 11:05:03 +02:00
|
|
|
|
|
|
|
# use of *stop from generate funcs is unlocked, but fine
|
|
|
|
{
|
|
|
|
helgrind6
|
|
|
|
Helgrind:Race
|
|
|
|
fun:vips_threadpool_run
|
|
|
|
}
|
|
|
|
|