Add valgrind configuration

Include suppression files for GStreamer and GLib for easier referencing
as part of valgrindrc. We will add a symlink to the suppression files
in /opt.
This commit is contained in:
Sanchayan Maity 2023-01-28 11:39:40 +05:30
parent ee74c8c4d8
commit 6a6bb68204
Signed by: sanchayanmaity
GPG key ID: 6F6A0609C12038F3
9 changed files with 7281 additions and 0 deletions

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,96 @@
{
<suppression for libneon-25.5dfsg5 on tpm's edgy/x86>
Memcheck:Param
socketcall.sendto(msg)
fun:sendto
fun:getaddrinfo
fun:ne_addr_resolve
fun:ne_begin_request
}
{
<Soundtouch valgrind warning>
Memcheck:Cond
fun:_ZN10soundtouch9TDStretch8setTempoEf
fun:_ZN10soundtouch9TDStretch13setParametersEjjjj
fun:_ZN10soundtouch9TDStretchC1Ev
fun:_ZN10soundtouch9TDStretch11newInstanceEv
fun:_ZN10soundtouch10SoundTouchC1Ev
}
{
<Soundtouch valgrind warning>
Memcheck:Cond
fun:_ZN10soundtouch9TDStretch8setTempoEf
fun:_ZN10soundtouch9TDStretch13setParametersEjjjj
fun:_ZN10soundtouch9TDStretchC1Ev
fun:_ZN10soundtouch9TDStretch11newInstanceEv
fun:_ZN10soundtouch10SoundTouchC1Ev
}
{
<the LADSPA sine plugin produces this on every exit() it seems >
Memcheck:Free
fun:_ZdaPv
obj:/usr/lib/ladspa/sine.so
}
# FIXED: https://gitlab.gnome.org/GNOME/gssdp/-/issues/10
{
gssdp_leak_1
Memcheck:Leak
match-leak-kinds: definite
fun:malloc
fun:g_malloc
fun:g_strdup
fun:gssdp_client_set_property
fun:object_set_property
fun:g_object_constructor
fun:gupnp_context_constructor
fun:g_object_new_with_custom_constructor
fun:g_object_new_internal
fun:g_object_new_valist
fun:g_initable_new_valist
fun:g_initable_new
fun:network_device_create_context
fun:create_context
fun:receive_netlink_message
}
{
gssdp_leak_2
Memcheck:Leak
match-leak-kinds: definite,indirect
fun:g_type_create_instance
fun:g_object_new_internal
fun:g_object_new_valist
fun:g_initable_new_valist
fun:g_initable_new
fun:g_inet_address_mask_new
fun:get_host_ip
fun:init_network_info
fun:gssdp_client_initable_init
fun:gupnp_context_initable_init
fun:g_initable_new_valist
fun:g_initable_new
fun:network_device_create_context
fun:create_context
fun:receive_netlink_message
}
{
gssdp_leak_3
Memcheck:Leak
match-leak-kinds: indirect
fun:g_type_create_instance
fun:g_object_new_internal
fun:g_object_new_valist
fun:g_object_new
fun:get_host_ip
fun:init_network_info
fun:gssdp_client_initable_init
fun:gupnp_context_initable_init
fun:g_initable_new_valist
fun:g_initable_new
fun:network_device_create_context
fun:create_context
fun:receive_netlink_message
}

View file

@ -0,0 +1,639 @@
# A suppression for an old bug in libtheora (fixed in more recent versions,
# but some of our buildslaves still have this)
{
<Leaky libtheora>
Memcheck:Leak
fun:realloc
fun:oggpackB_write
fun:EncodeData
obj:/usr/lib/libtheora.so*
fun:theora_encode_YUVin
}
# Suppression for pango on ubuntu edgy/x86 and textoverlay test
{
<pango>
Memcheck:Param
access(pathname)
fun:access
fun:pango_config_key_get
fun:pango_find_map
}
{
<suppression for a singleton in GIO that can't be cleaned up>
Memcheck:Leak
fun:realloc
obj:*
obj:*
obj:*
obj:*
obj:*
obj:*
obj:*
obj:*
obj:*
fun:g_type_create_instance
fun:g_object_constructor
fun:g_object_newv
fun:g_object_new_valist
fun:g_object_new
fun:get_default_vfs
fun:g_once_impl
fun:g_vfs_get_default
}
{
<suppression for a singleton in GIO that can't be cleaned up>
Memcheck:Leak
fun:malloc
obj:*
obj:*
obj:*
obj:*
fun:g_type_create_instance
fun:g_object_constructor
fun:g_object_newv
fun:g_object_new_valist
fun:g_object_new
fun:get_default_vfs
fun:g_once_impl
fun:g_vfs_get_default
}
{
<ALSA unitialised access>
Memcheck:Cond
obj:/usr/lib/libasound.so.*
fun:snd_pcm_hw_params_set_buffer_time_near
}
{
<ALSA uninitialized access>
Memcheck:Cond
obj:/usr/lib/libasound.so.*
obj:/usr/lib/libasound.so.*
obj:/usr/lib/libasound.so.*
fun:snd_pcm_hw_params_set_buffer_time_near
}
{
<One time init in ALSA>
Memcheck:Leak
fun:malloc
obj:/usr/lib/libasound.so.*
obj:/usr/lib/libasound.so.*
fun:gst_alsa_device_property_probe_get_values
}
{
<One time init in ALSA>
Memcheck:Leak
fun:calloc
obj:/usr/lib/libasound.so.*
obj:/usr/lib/libasound.so.*
obj:/usr/lib/libasound.so.*
obj:/usr/lib/libasound.so.*
obj:/usr/lib/libasound.so.*
obj:/usr/lib/libasound.so.*
fun:snd_config_hook_load
obj:*
obj:/usr/lib/libasound.so.*
fun:snd_config_searcha_hooks
fun:snd_config_searchva_hooks
obj:/usr/lib/libasound.so.*
fun:snd_config_search_definition
obj:/usr/lib/libasound.so.*
fun:gst_alsa_device_property_probe_get_values
}
{
<One time init in ALSA>
Memcheck:Leak
fun:calloc
obj:*
obj:*
obj:*
obj:*
obj:*
obj:*
obj:*
obj:*
obj:*
obj:/usr/lib/libasound.so.*
fun:snd_config_searcha_hooks
fun:snd_config_searchva_hooks
obj:/usr/lib/libasound.so.*
fun:snd_config_search_definition
obj:/usr/lib/libasound.so.*
fun:gst_alsa_device_property_probe_get_values
}
{
<One time init in ALSA>
Memcheck:Leak
fun:calloc
obj:*
obj:*
obj:*
obj:*
obj:*
obj:*
obj:*
obj:*
obj:*
obj:*
obj:/usr/lib/libasound.so.*
fun:snd_config_searcha_hooks
fun:snd_config_searchva_hooks
obj:/usr/lib/libasound.so.*
fun:snd_config_search_definition
obj:/usr/lib/libasound.so.*
fun:gst_alsa_device_property_probe_get_values
}
{
<One time init in ALSA>
Memcheck:Leak
fun:calloc
obj:*
obj:*
obj:*
obj:*
obj:*
obj:*
obj:*
obj:*
obj:*
obj:*
obj:*
obj:/usr/lib/libasound.so.*
fun:snd_config_searcha_hooks
fun:snd_config_searchva_hooks
obj:/usr/lib/libasound.so.*
fun:snd_config_search_definition
obj:/usr/lib/libasound.so.*
fun:gst_alsa_device_property_probe_get_values
}
{
<One time init in ALSA>
Memcheck:Leak
fun:malloc
obj:/usr/lib/libasound.so.*
obj:/usr/lib/libasound.so.*
fun:snd_hctl_open
fun:snd_mixer_attach
}
{
<Pulseaudio ALSA plugin initialisation>
Memcheck:Leak
fun:calloc
fun:pa_xmalloc0
obj:/usr/lib/libpulse.so.*
obj:/usr/lib/libpulse.so.*
obj:/usr/lib/libpulse.so.*
obj:/usr/lib/libpulse.so.*
fun:pa_proplist_sets
fun:pa_context_new_with_proplist
fun:pa_context_new
obj:/usr/lib/alsa-lib/libasound_module_pcm_pulse.so
}
{
<Pulseaudio ALSA plugin initialisation>
Memcheck:Leak
fun:calloc
fun:pa_xmalloc0
obj:/usr/lib/libpulse.so.*
obj:/usr/lib/libpulse.so.*
obj:/usr/lib/libpulse.so.*
obj:/usr/lib/libpulse.so.*
obj:/usr/lib/libpulse.so.*
obj:/usr/lib/libpulse.so.*
obj:/usr/lib/libpulse.so.*
fun:pa_mainloop_dispatch
obj:/usr/lib/alsa-lib/libasound_module_pcm_pulse.so
}
{
<Pulseaudio ALSA plugin initialisation>
Memcheck:Leak
fun:calloc
obj:/usr/lib/libasound.so.*
obj:/usr/lib/libasound.so.*
obj:/usr/lib/libasound.so.*
obj:/usr/lib/libasound.so.*
obj:/usr/lib/libasound.so.*
obj:/usr/lib/libasound.so.*
fun:snd_config_hook_load
obj:/usr/lib/alsa-lib/libasound_module_ctl_pulse.so
}
{
<Pulseaudio ALSA plugin initialisation>
Memcheck:Leak
fun:calloc
fun:pa_xmalloc0
obj:/usr/lib/libpulse.so.*
obj:/usr/lib/libpulse.so.*
obj:/usr/lib/libpulse.so.*
obj:/usr/lib/libpulse.so.*
fun:pa_proplist_sets
fun:pa_context_new_with_proplist
fun:pa_context_new
obj:/usr/lib/alsa-lib/libasound_module_ctl_pulse.so
}
{
<Pulseaudio ALSA plugin initialisation>
Memcheck:Leak
fun:calloc
fun:pa_xmalloc0
obj:/usr/lib/libpulse.so.*
obj:/usr/lib/libpulse.so.*
obj:/usr/lib/libpulse.so.*
obj:/usr/lib/libpulse.so.*
obj:/usr/lib/libpulse.so.*
obj:/usr/lib/libpulse.so.*
fun:pa_mainloop_dispatch
obj:/usr/lib/alsa-lib/libasound_module_ctl_pulse.so
}
{
<Pulseaudio ALSA plugin initialisation>
Memcheck:Leak
fun:calloc
fun:pa_xmalloc0
obj:/usr/lib/libpulse.so.*
obj:/usr/lib/libpulse.so.*
obj:/usr/lib/libpulse.so.*
obj:/usr/lib/libpulse.so.*
obj:/usr/lib/libpulse.so.*
obj:/usr/lib/libpulse.so.*
obj:/usr/lib/libpulse.so.*
fun:pa_mainloop_dispatch
obj:/usr/lib/alsa-lib/libasound_module_ctl_pulse.so
}
{
<Pulseaudio ALSA plugin initialisation>
Memcheck:Leak
fun:calloc
fun:pa_xmalloc0
obj:/usr/lib/libpulse.so.*
obj:/usr/lib/libpulse.so.*
obj:/usr/lib/libpulse.so.*
obj:/usr/lib/libpulse.so.*
obj:/usr/lib/libpulse.so.*
obj:/usr/lib/libpulse.so.*
obj:/usr/lib/libpulse.so.*
obj:/usr/lib/libpulse.so.*
fun:pa_mainloop_dispatch
obj:/usr/lib/alsa-lib/libasound_module_ctl_pulse.so
}
{
<Pulseaudio ALSA plugin initialisation>
Memcheck:Leak
fun:calloc
obj:/usr/lib/libasound.so.*
obj:/usr/lib/libasound.so.*
obj:/usr/lib/libasound.so.*
obj:/usr/lib/libasound.so.*
obj:/usr/lib/libasound.so.*
obj:/usr/lib/libasound.so.*
fun:snd_config_hook_load
obj:/usr/lib/alsa-lib/libasound_module_pcm_pulse.so
}
{
<Pulseaudio ALSA plugin initialisation>
Memcheck:Leak
fun:calloc
fun:pa_xmalloc0
obj:/usr/lib/libpulse.so.*
obj:/usr/lib/libpulse.so.*
obj:/usr/lib/libpulse.so.*
obj:/usr/lib/libpulse.so.*
obj:/usr/lib/libpulse.so.*
obj:/usr/lib/libpulse.so.*
fun:pa_mainloop_dispatch
obj:/usr/lib/alsa-lib/libasound_module_pcm_pulse.so
}
{
<Pulseaudio ALSA plugin initialisation>
Memcheck:Leak
fun:calloc
fun:pa_xmalloc0
obj:/usr/lib/libpulse.so.*
obj:/usr/lib/libpulse.so.*
obj:/usr/lib/libpulse.so.*
obj:/usr/lib/libpulse.so.*
obj:/usr/lib/libpulse.so.*
obj:/usr/lib/libpulse.so.*
obj:/usr/lib/libpulse.so.*
obj:/usr/lib/libpulse.so.*
fun:pa_mainloop_dispatch
obj:/usr/lib/alsa-lib/libasound_module_pcm_pulse.so
}
{
<One time ALSA init>
Memcheck:Leak
fun:malloc
obj:/usr/lib/libasound.so.*
obj:/usr/lib/libasound.so.*
obj:/usr/lib/libasound.so.*
fun:gst_alsasrc_open
}
{
<Fontconfig init>
Memcheck:Leak
fun:*alloc
...
fun:FcConfigParseAndLoad
}
{
<Fontconfig init>
Memcheck:Leak
fun:realloc
obj:/usr/lib/libfontconfig.so.*
obj:/usr/lib/libfontconfig.so.*
obj:/usr/lib/libfontconfig.so.*
obj:/usr/lib/libfontconfig.so.*
fun:FcDefaultSubstitute
}
{
<Fontconfig init>
Memcheck:Leak
fun:realloc
obj:/usr/lib/libfontconfig.so.*
obj:/usr/lib/libfontconfig.so.*
fun:FcConfigSubstituteWithPat
}
{
<Fontconfig init>
Memcheck:Leak
fun:realloc
obj:/usr/lib/libfontconfig.so.*
obj:/usr/lib/libfontconfig.so.*
obj:/usr/lib/libfontconfig.so.*
fun:FcFontRenderPrepare
}
# ALSA leaks which are fixed by calling snd_config_update_free_global
{
<ALSA cached config data>
Memcheck:Leak
fun:malloc
fun:strdup
obj:/usr/lib/libasound.so.2.0.0
obj:/usr/lib/libasound.so.2.0.0
fun:gst_alsa_get_device_list
fun:gst_alsa_device_property_probe_get_values
fun:gst_property_probe_get_values
fun:gst_property_probe_probe_and_get_values
fun:gst_property_probe_probe_and_get_values_name
fun:test_device_property_probe
fun:srunner_run_all
fun:gst_check_run_suite
fun:main
}
{
<ALSA cached config data>
Memcheck:Leak
fun:malloc
obj:/usr/lib/libasound.so.2.0.0
obj:/usr/lib/libasound.so.2.0.0
fun:gst_alsa_get_device_list
fun:gst_alsa_device_property_probe_get_values
fun:gst_property_probe_get_values
fun:gst_property_probe_probe_and_get_values
fun:gst_property_probe_probe_and_get_values_name
fun:test_device_property_probe
fun:srunner_run_all
fun:gst_check_run_suite
fun:main
}
{
<ALSA cached config data>
Memcheck:Leak
fun:malloc
fun:_dl_close_worker
fun:_dl_close
fun:_dl_catch_error
fun:_dlerror_run
fun:dlclose
obj:/usr/lib/libasound.so.2.0.0
fun:snd_config_searcha_hooks
fun:snd_config_searchva_hooks
obj:/usr/lib/libasound.so.2.0.0
fun:snd_config_search_definition
obj:/usr/lib/libasound.so.2.0.0
fun:gst_alsa_get_device_list
fun:gst_alsa_device_property_probe_get_values
fun:gst_property_probe_get_values
fun:gst_property_probe_probe_and_get_values
fun:gst_property_probe_probe_and_get_values_name
fun:test_device_property_probe
fun:srunner_run_all
fun:gst_check_run_suite
}
{
<ALSA cached config data>
Memcheck:Leak
fun:malloc
fun:strdup
obj:/usr/lib/libasound.so.2.0.0
obj:/usr/lib/libasound.so.2.0.0
fun:snd_hctl_open
fun:snd_mixer_attach
fun:gst_alsa_mixer_open
fun:gst_alsa_mixer_new
fun:gst_alsa_mixer_element_change_state
fun:gst_element_change_state
fun:gst_element_set_state_func
fun:test_alsa_mixer_track
fun:srunner_run_all
fun:gst_check_run_suite
fun:main
}
{
<ALSA cached config data>
Memcheck:Leak
fun:malloc
fun:strdup
obj:/usr/lib/libasound.so.2.0.0
obj:/usr/lib/libasound.so.2.0.0
fun:snd_hctl_open
fun:snd_mixer_attach
fun:gst_alsa_mixer_open
fun:gst_alsa_mixer_new
fun:gst_alsa_mixer_element_change_state
fun:gst_element_change_state
fun:gst_element_set_state_func
fun:test_alsa_mixer_track
fun:srunner_run_all
fun:gst_check_run_suite
fun:main
}
{
<ALSA cached config data>
Memcheck:Leak
fun:malloc
fun:_dl_close_worker
fun:_dl_close
fun:_dl_catch_error
fun:_dlerror_run
fun:dlclose
obj:/usr/lib/libasound.so.2.0.0
fun:snd_config_searcha_hooks
fun:snd_config_searchva_hooks
obj:/usr/lib/libasound.so.2.0.0
fun:snd_config_search_definition
obj:/usr/lib/libasound.so.2.0.0
fun:snd_hctl_open
fun:snd_mixer_attach
fun:gst_alsa_mixer_open
fun:gst_alsa_mixer_new
fun:gst_alsa_mixer_element_change_state
fun:gst_element_change_state
fun:gst_element_set_state_func
fun:test_alsa_mixer_track
}
{
<a one time alloc>
Memcheck:Leak
match-leak-kinds: definite
fun:g_type_create_instance
...
fun:g_object_newv
fun:g_object_new
fun:gst_gl_memory_egl_init_once
fun:g_type_create_instance
}
{
<a one time alloc>
Memcheck:Leak
match-leak-kinds: definite
fun:g_type_create_instance
...
fun:g_object_newv
fun:g_object_new
fun:gst_gl_memory_pbo_init_once
fun:gst_gl_display_init
fun:g_type_create_instance
}
{
<a one time alloc>
Memcheck:Leak
match-leak-kinds: definite
fun:g_type_create_instance
...
fun:g_object_newv
fun:g_object_new
fun:gst_gl_buffer_init_once
fun:gst_gl_display_init
}
{
<dodgy one, seems like a xcb bug>
Memcheck:Leak
match-leak-kinds: definite
fun:malloc
...
fun:xcb_wait_for_reply
}
{
<one off init alloc in ld-2.22.so>
Memcheck:Leak
match-leak-kinds: possible
fun:calloc
fun:g_malloc0
...
fun:call_init.part.0
fun:_dl_init
}
{
<a one time alloc>
Memcheck:Leak
match-leak-kinds: definite
fun:malloc
fun:XextCreateExtension
...
fun:glXChooseFBConfig
fun:gst_gl_context_glx_choose_format
}
{
<a one time alloc>
Memcheck:Leak
match-leak-kinds: definite
fun:malloc
...
fun:call_xinitthreads
fun:states_suite
}
{
<gst_install_plugins_* can instantiate bash, which leaks>
Memcheck:Leak
match-leak-kinds: definite
fun:malloc
fun:xmalloc
fun:set_default_locale
fun:main
}
{
<getaddrinfo can leak when resolving addresses, see https://lists.debian.org/debian-glibc/2016/03/msg00243.html>
Memcheck:Leak
match-leak-kinds: definite
fun:malloc
fun:__libc_alloc_buffer_allocate
...
fun:__res_vinit
...
fun:context_get.part.*
...
fun:gaih_inet.constprop.*
fun:getaddrinfo
...
}
{
<uninitialized values in nvidia driver>
Memcheck:Cond
obj:*libnvidia-glcore.so.*
}
{
<Intentional leak in GL test>
Memcheck:Leak
fun:calloc
obj:*/libGLX_nvidia.so*
...
fun:_test_query_start_free_gl
}
# FIXME: how does this even happen ? reproduce with make elements/textoverlay.valgrind
{
<We do not care about leaks where pango is the first object in the stacktrace>
Memcheck:Leak
...
obj:*/libpango*.so*
}
{
<valgrind gets confused at orc_int64 widening in orc backup code>
Memcheck:Cond
fun:_backup_audio_orc_int_bias
...
}
{
<valgrind gets confused with value initialized in unconditional scope>
Memcheck:Cond
fun:_backup_volume_orc_process_controlled_int16_1ch
...
}

View file

@ -0,0 +1,233 @@
{
<several valgrind warnings as found with libjpeg 6b on Debian>
Memcheck:Cond
obj:/usr/lib/libjpeg.so.*
obj:/usr/lib/libjpeg.so.*
obj:/usr/lib/libjpeg.so.*
fun:jpeg_finish_decompress
}
{
<several valgrind warnings as found with libjpeg 6b on Debian>
Memcheck:Cond
obj:/usr/lib/libjpeg.so.*
obj:/usr/lib/libjpeg.so.*
fun:jpeg_consume_input
fun:jpeg_read_header
}
{
<several valgrind warnings as found with libjpeg 6b on Debian>
Memcheck:Cond
fun:jpeg_fill_bit_buffer
fun:jpeg_huff_decode
obj:/usr/lib/libjpeg.so.*
obj:/usr/lib/libjpeg.so.*
fun:jpeg_read_raw_data
}
{
<several valgrind warnings as found with libjpeg 6b on Debian>
Memcheck:Cond
fun:jpeg_fill_bit_buffer
obj:/usr/lib/libjpeg.so.*
obj:/usr/lib/libjpeg.so.*
fun:jpeg_read_raw_data
}
{
<several valgrind warnings as found with libjpeg 6b on Debian>
Memcheck:Cond
obj:/usr/lib/libjpeg.so.*
obj:/usr/lib/libjpeg.so.*
obj:/usr/lib/libjpeg.so.*
fun:jpeg_consume_input
fun:jpeg_read_header
}
{
<several valgrind warnings as found with libjpeg 6b on Debian>
Memcheck:Cond
obj:/usr/lib/libjpeg.so.*
fun:jpeg_finish_compress
}
{
<several valgrind warnings as found with libjpeg 6b on Debian>
Memcheck:Cond
obj:/usr/lib/libjpeg.so.*
obj:/usr/lib/libjpeg.so.*
fun:jpeg_finish_compress
}
{
<several valgrind warnings as found with libjpeg 6b on Debian>
Memcheck:Cond
obj:/usr/lib/libjpeg.so.*
obj:/usr/lib/libjpeg.so.*
obj:/usr/lib/libjpeg.so.*
fun:jpeg_finish_compress
}
{
<several valgrind warnings as found with libjpeg 6b on Debian>
Memcheck:Cond
obj:/usr/lib/libjpeg.so.*
obj:/usr/lib/libjpeg.so.*
fun:jpeg_write_raw_data
}
{
<several valgrind warnings as found with libjpeg 6b on Debian>
Memcheck:Cond
obj:/usr/lib/libjpeg.so.*
obj:/usr/lib/libjpeg.so.*
obj:/usr/lib/libjpeg.so.*
fun:jpeg_write_raw_data
}
{
<several valgrind warnings as found with libjpeg 6b on Debian>
Memcheck:Cond
obj:/usr/lib/libjpeg.so.*
obj:/usr/lib/libjpeg.so.*
obj:/usr/lib/libjpeg.so.*
obj:/usr/lib/libjpeg.so.*
fun:jpeg_write_raw_data
}
{
<several valgrind warnings as found with libjpeg 6b on Debian>
Memcheck:Cond
obj:/usr/lib/libjpeg.so.*
obj:/usr/lib/libjpeg.so.*
obj:/usr/lib/libjpeg.so.*
obj:/usr/lib/libjpeg.so.*
obj:/usr/lib/libjpeg.so.*
fun:jpeg_write_raw_data
}
{
<several valgrind warnings as found with libjpeg 6b on Debian>
Memcheck:Cond
obj:/usr/lib/libjpeg.so.*
obj:/usr/lib/libjpeg.so.*
fun:jinit_compress_master
fun:jpeg_start_compress
}
{
<several valgrind warnings as found with libjpeg 6b on Debian>
Memcheck:Cond
obj:/usr/lib/libjpeg.so.*
obj:/usr/lib/libjpeg.so.*
obj:/usr/lib/libjpeg.so.*
fun:jinit_compress_master
fun:jpeg_start_compress
}
{
<well known zlib bug>
Memcheck:Cond
fun:inflateReset2
fun:inflateInit2_
fun:png_create_read_struct_2
fun:png_create_read_struct
}
{
<apparent strtod bug when trying to parse "infinity" from "interleaved">
Memcheck:Addr8
fun:__GI___strncasecmp_l
fun:____strtod_l_internal
fun:gst_value_deserialize_double
}
## lame
{
<lame Conditional jump or move depends on uninitialised values>
Memcheck:Cond
fun:L3psycho_anal_vbr
fun:lame_encode_mp3_frame
...
fun:lame_encode_flush
fun:gst_lamemp3enc_sink_event
}
{
<twolame Conditional jump or move depends on uninitialised values>
Memcheck:Cond
...
fun:psycho_3
fun:encode_frame
}
{
<twolame Conditional jump or move depends on uninitialised values>
Memcheck:Cond
fun:psycho_3
...
fun:twolame_encode_flush
}
{
<getaddrinfo can leak when resolving addresses, see https://lists.debian.org/debian-glibc/2016/03/msg00243.html>
Memcheck:Leak
match-leak-kinds: definite
fun:malloc
fun:__libc_alloc_buffer_allocate
...
fun:__res_vinit
...
fun:context_get.part.1
fun:gaih_inet.constprop.7
fun:getaddrinfo
...
}
{
<gnutls sessions leak the certificates, even though gnutls_deinit is correctly called>
Memcheck:Leak
match-leak-kinds: definite
fun:malloc
...
fun:g_tls_certificate_gnutls_real_copy
fun:g_tls_server_connection_gnutls_retrieve_function
}
{
<gnutls sessions leak the certificates, even though gnutls_deinit is correctly called>
Memcheck:Leak
match-leak-kinds: definite
fun:calloc
...
fun:g_tls_certificate_gnutls_real_copy
fun:g_tls_server_connection_gnutls_retrieve_function
}
{
<shout leaks through sethostent, ignoring all sethostent leaks as this is using global>
Memcheck:Leak
match-leak-kinds: definite
fun:malloc
...
fun:sethostent
}
# Some gnutls conditional failure, taken from
# https://salsa.debian.org/debian/flatpak/commit/fb4a8dda211c4bc036781f2b0d706266e95ce068
{
gnutls_import_fail
Memcheck:Cond
...
fun:gnutls_x509_ext_import_subject_alt_names
fun:gnutls_x509_crt_import
}
{
gnutls_x509_trust_list_add_cas cond failure
Memcheck:Cond
...
fun:gnutls_x509_trust_list_add_cas
fun:gnutls_x509_trust_list_add_trust_mem
fun:gnutls_x509_trust_list_add_trust_file
}

View file

@ -0,0 +1,190 @@
### amrnb suppressions
### these should/could be submitted to amrnb
{
<amrnb>
Memcheck:Cond
fun:Encoder_Interface_Encode
fun:gst_amrnbenc_chain
fun:gst_pad_chain
fun:gst_pad_push
}
{
<amrnb>
Memcheck:Cond
fun:Speech_Encode_Frame
fun:Encoder_Interface_Encode
fun:gst_amrnbenc_chain
fun:gst_pad_chain
fun:gst_pad_push
}
{
<amrnb>
Memcheck:Cond
obj:/usr/lib/libamrnb.so*
fun:Speech_Encode_Frame
fun:Encoder_Interface_Encode
fun:gst_amrnbenc_chain
fun:gst_pad_chain
fun:gst_pad_push
}
{
<amrnb>
Memcheck:Cond
obj:/usr/lib/libamrnb.so*
obj:/usr/lib/libamrnb.so*
fun:Speech_Encode_Frame
fun:Encoder_Interface_Encode
fun:gst_amrnbenc_chain
fun:gst_pad_chain
fun:gst_pad_push
}
{
<amrnb>
Memcheck:Cond
obj:/usr/lib/libamrnb.so*
obj:/usr/lib/libamrnb.so*
obj:/usr/lib/libamrnb.so*
fun:Speech_Encode_Frame
fun:Encoder_Interface_Encode
fun:gst_amrnbenc_chain
fun:gst_pad_chain
fun:gst_pad_push
}
{
<amrnb acos>
Memcheck:Cond
fun:acos
obj:/usr/lib/libamrnb.so*
obj:/usr/lib/libamrnb.so*
fun:Speech_Encode_Frame
fun:Encoder_Interface_Encode
fun:gst_amrnbenc_chain
fun:gst_pad_chain
fun:gst_pad_push
}
{
<AMR encoder>
Memcheck:Cond
fun:Levinson
fun:Speech_Encode_Frame
fun:Encoder_Interface_Encode
}
{
<AMR encoder>
Memcheck:Cond
fun:Az_lsp
fun:Speech_Encode_Frame
fun:Encoder_Interface_Encode
}
{
<AMR encoder>
Memcheck:Cond
fun:acos
fun:Lsp_lsf
fun:Speech_Encode_Frame
fun:Encoder_Interface_Encode
}
{
<AMR encoder>
Memcheck:Cond
fun:Lsf_wt
fun:Speech_Encode_Frame
fun:Encoder_Interface_Encode
}
{
<AMR encoder>
Memcheck:Cond
fun:Vq_subvec
fun:Speech_Encode_Frame
fun:Encoder_Interface_Encode
}
{
<AMR encoder>
Memcheck:Cond
fun:Lag_max
fun:Pitch_ol
fun:ol_ltp
fun:Speech_Encode_Frame
fun:Encoder_Interface_Encode
}
{
<AMR encoder>
Memcheck:Cond
fun:Pitch_ol
fun:ol_ltp
fun:Speech_Encode_Frame
fun:Encoder_Interface_Encode
}
{
<AMR encoder>
Memcheck:Cond
fun:cl_ltp
fun:Speech_Encode_Frame
fun:Encoder_Interface_Encode
}
{
<AMR encoder>
Memcheck:Cond
fun:searchFrac
fun:cl_ltp
fun:Speech_Encode_Frame
fun:Encoder_Interface_Encode
}
{
<AMR encoder>
Memcheck:Cond
fun:q_gain_pitch
fun:cl_ltp
fun:Speech_Encode_Frame
fun:Encoder_Interface_Encode
}
{
<AMR encoder>
Memcheck:Cond
fun:set_sign12k2
fun:code_10i40_35bits
fun:cbsearch
fun:Speech_Encode_Frame
fun:Encoder_Interface_Encode
}
{
<AMR encoder>
Memcheck:Cond
fun:code_10i40_35bits
fun:cbsearch
fun:Speech_Encode_Frame
fun:Encoder_Interface_Encode
}
{
<AMR encoder>
Memcheck:Cond
fun:gainQuant
fun:Speech_Encode_Frame
fun:Encoder_Interface_Encode
}
{
<AMR encoder on FC4>
Memcheck:Value2
obj:/usr/lib/libamrnb.so.0.0.0
fun:Speech_Encode_Frame
fun:Encoder_Interface_Encode
}

View file

@ -0,0 +1,241 @@
{
pthread leak
Memcheck:Leak
fun:calloc
fun:allocate_dtv
fun:_dl_allocate_tls*
}
{
pthread leak 2
Memcheck:Leak
fun:memalign
fun:_dl_allocate_tls*
}
{
popt leak
Memcheck:Leak
fun:malloc
fun:nss_parse_service_list
fun:__nss_database_lookup
obj:*
obj:*
fun:getpwuid_r@@GLIBC_2.2.5
fun:g_get_any_init_do
fun:g_get_home_dir
fun:init_post
fun:init_popt_callback
}
{
pygobject init leak
Memcheck:Leak
fun:calloc
fun:g_malloc0
fun:type_node_*
fun:type_node_*
fun:*
fun:*
fun:g_type_init*
fun:initgobject
}
{
borked pthread creation
Memcheck:Param
write(buf)
fun:__pthread_initialize_manager
fun:pthread_create@@GLIBC_2.2.5
fun:g_thread_create*
fun:g_thread_create*
}
{
borked pthread creation 2
Memcheck:Param
write(buf)
fun:pthread_create@@GLIBC_2.2.5
fun:*
fun:*
fun:*
fun:*
fun:gst_task_start
}
{
Syscall param clone(child_tidptr) contains uninitialised byte(s)
Memcheck:Param
clone(child_tidptr)
fun:clone
}
{
memory loss when creating thread
Memcheck:Leak
fun:malloc
fun:__pthread_initialize_manager
fun:pthread_create*
}
# pyg_enable_threads memleak
{
memleak in pyg_enable_threads
Memcheck:Leak
fun:malloc
fun:*
fun:*
fun:*
fun:*
fun:*
fun:pyg_enable_threads
}
{
memleak in pyg_enable_threads 2
Memcheck:Leak
fun:malloc
fun:*
fun:*
fun:*
fun:*
fun:pyg_enable_threads
}
{
memleak in pyg_enable_threads 3
Memcheck:Leak
fun:malloc
fun:*
fun:*
fun:*
fun:pyg_enable_threads
}
#pygobject leaks
{
PyType_Ready leak
Memcheck:Leak
fun:malloc
fun:PyObject_Malloc
fun:_PyObject_GC_Malloc
fun:PyType_GenericAlloc
fun:*
fun:*
fun:PyType_Ready
}
#gst debug category new leak
{
gst debug category new leak
Memcheck:Leak
fun:malloc
fun:g_malloc
fun:g_strdup
fun:_gst_debug_category_new
}
# memleak in gst_element_state_get_name that we can't get rid of
{
gst_element_state_get_name
Memcheck:Leak
fun:malloc
fun:*
fun:g_vasprintf
fun:g_strdup*
fun:g_strdup*
fun:_wrap_gst_element_state_get_name
}
#memleak in pygobject_new_with_interfaces
# weird, cos it seems to free the return value of g_type_interfaces
{
_gst_element_factory_make
Memcheck:Leak
fun:malloc
fun:g_malloc
fun:g_type_interfaces
}
#memleak in static_pad_template
{
gst_static_pad_template_get
Memcheck:Leak
fun:calloc
fun:g_malloc0
fun:g_type_create_instance
fun:g_object_constructor
fun:gst_object_constructor
fun:*
fun:*
fun:*
fun:gst_static_pad_template_get
}
#leak in libxml
{
xml_parse_memory leak
Memcheck:Leak
fun:malloc
fun:*
fun:xml*
}
# FIXME : This is an awful leak that has do to with the gst_pad_set_*_function wrappers
{
leak in gst_pad_set_*_function wrappers
Memcheck:Leak
fun:calloc
fun:g_malloc0
fun:pad_private
}
# python leak in runtime compiler
{
python leak in runtime compiler
Memcheck:Leak
fun:malloc
fun:_PyObject_GC_Malloc
fun:_PyObject_GC_New*
fun:PyDict_New
fun:PySymtableEntry_New
fun:symtable_*
fun:symtable_*
fun:jcompile
}
#FIXME : These leaks are in core. See bug #344761
{
leak in init_gst, when creating the argv to give to gst_init_check()
Memcheck:Leak
fun:*
fun:g_malloc
fun:init_gst
}
{
The GOption context is leaking in gst_init_check
Memcheck:Leak
fun:*
fun:g_malloc0
fun:g_option_context_new
fun:gst_init_check
fun:init_gst
}
{
The GDir is leaked.
Memcheck:Leak
fun:*
fun:g_malloc
fun:g_dir_open
fun:gst_registry_scan_path_level
fun:gst_registry_scan_path
fun:init_post
fun:g_option_context_parse
fun:gst_init_check
fun:init_gst
}

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,536 @@
#
# This is a valgrind suppression file that should be used when using valgrind.
#
# Here's an example of running valgrind:
#
# cd python/dist/src
# valgrind --tool=memcheck --suppressions=Misc/valgrind-python.supp \
# ./python -E -tt ./Lib/test/regrtest.py -u bsddb,network
#
# You must edit Objects/obmalloc.c and uncomment Py_USING_MEMORY_DEBUGGER
# to use the preferred suppressions with Py_ADDRESS_IN_RANGE.
#
# If you do not want to recompile Python, you can uncomment
# suppressions for PyObject_Free and PyObject_Realloc.
#
# See Misc/README.valgrind for more information.
# all tool names: Addrcheck,Memcheck,cachegrind,helgrind,massif
{
ADDRESS_IN_RANGE/Invalid read of size 4
Memcheck:Addr4
fun:Py_ADDRESS_IN_RANGE
}
{
ADDRESS_IN_RANGE/Invalid read of size 4
Memcheck:Value4
fun:Py_ADDRESS_IN_RANGE
}
{
ADDRESS_IN_RANGE/Invalid read of size 8 (x86_64)
Memcheck:Value8
fun:Py_ADDRESS_IN_RANGE
}
{
ADDRESS_IN_RANGE/Conditional jump or move depends on uninitialised value
Memcheck:Cond
fun:Py_ADDRESS_IN_RANGE
}
{
ADDRESS_IN_RANGE/Invalid read of size 4
Memcheck:Addr4
fun:PyObject_Free
}
{
ADDRESS_IN_RANGE/Invalid read of size 8 (x86_64)
Memcheck:Addr8
fun:PyObject_Free
}
{
ADDRESS_IN_RANGE/Invalid read of size 4
Memcheck:Value4
fun:PyObject_Free
}
{
ADDRESS_IN_RANGE/Invalid read of size 8 (x86_64)
Memcheck:Value8
fun:PyObject_Free
}
{
ADDRESS_IN_RANGE/Conditional jump or move depends on uninitialised value
Memcheck:Cond
fun:PyObject_Free
}
{
ADDRESS_IN_RANGE/Invalid read of size 4
Memcheck:Addr4
fun:PyObject_Realloc
}
{
ADDRESS_IN_RANGE/Invalid read of size 8 (x86_64)
Memcheck:Addr8
fun:PyObject_Realloc
}
{
ADDRESS_IN_RANGE/Invalid read of size 4
Memcheck:Value4
fun:PyObject_Realloc
}
{
ADDRESS_IN_RANGE/Invalid read of size 8 (x86_64)
Memcheck:Value8
fun:PyObject_Realloc
}
{
ADDRESS_IN_RANGE/Conditional jump or move depends on uninitialised value
Memcheck:Cond
fun:PyObject_Realloc
}
###
### All the suppressions below are for errors that occur within libraries
### that Python uses. The problems to not appear to be related to Python's
### use of the libraries.
###
{
GDBM problems, see test_gdbm
Memcheck:Param
write(buf)
fun:write
fun:gdbm_open
}
{
Avoid problem in libc on gentoo
Memcheck:Cond
obj:/lib/ld-2.3.4.so
obj:/lib/ld-2.3.4.so
obj:/lib/ld-2.3.4.so
obj:/lib/ld-2.3.4.so
obj:/lib/ld-2.3.4.so
}
{
Avoid problem in glibc on gentoo
Memcheck:Addr8
obj:/lib/ld-2.3.4.so
obj:/lib/ld-2.3.4.so
obj:/lib/ld-2.3.4.so
obj:/lib/ld-2.3.4.so
obj:/lib/libc-2.3.4.so
obj:/lib/ld-2.3.4.so
fun:_dl_open
obj:/lib/libdl-2.3.4.so
obj:/lib/ld-2.3.4.so
obj:/lib/libdl-2.3.4.so
fun:dlopen
}
{
Avoid problem in glibc on gentoo
Memcheck:Addr8
obj:/lib/ld-2.3.4.so
obj:/lib/ld-2.3.4.so
obj:/lib/ld-2.3.4.so
obj:/lib/ld-2.3.4.so
obj:/lib/ld-2.3.4.so
obj:/lib/ld-2.3.4.so
obj:/lib/ld-2.3.4.so
obj:/lib/libc-2.3.4.so
obj:/lib/ld-2.3.4.so
fun:_dl_open
obj:/lib/libdl-2.3.4.so
obj:/lib/ld-2.3.4.so
obj:/lib/libdl-2.3.4.so
fun:dlopen
}
{
Avoid problem in glibc on gentoo
Memcheck:Cond
obj:/lib/ld-2.3.4.so
obj:/lib/libc-2.3.4.so
obj:/lib/ld-2.3.4.so
fun:_dl_open
obj:/lib/libdl-2.3.4.so
obj:/lib/ld-2.3.4.so
obj:/lib/libdl-2.3.4.so
fun:dlopen
}
{
Avoid problem in glibc on gentoo
Memcheck:Cond
obj:/lib/ld-2.3.4.so
obj:/lib/ld-2.3.4.so
obj:/lib/ld-2.3.4.so
obj:/lib/libc-2.3.4.so
obj:/lib/ld-2.3.4.so
fun:_dl_open
obj:/lib/libdl-2.3.4.so
obj:/lib/ld-2.3.4.so
obj:/lib/libdl-2.3.4.so
fun:dlopen
}
{
Avoid problems w/readline doing a putenv and leaking on exit
Memcheck:Leak
fun:malloc
fun:xmalloc
fun:sh_set_lines_and_columns
fun:_rl_get_screen_size
fun:_rl_init_terminal_io
obj:/lib/libreadline.so.4.3
fun:rl_initialize
fun:setup_readline
fun:initreadline
fun:_PyImport_LoadDynamicModule
fun:load_module
fun:import_submodule
fun:load_next
fun:import_module_ex
fun:PyImport_ImportModuleEx
}
{
Mysterious leak that seems to deal w/pthreads
Memcheck:Leak
fun:calloc
obj:/lib/ld-2.3.4.so
obj:/lib/ld-2.3.4.so
fun:_dl_allocate_tls
fun:__pthread_initialize_minimal
}
{
Mysterious leak that seems to deal w/pthreads
Memcheck:Leak
fun:memalign
obj:/lib/ld-2.3.4.so
fun:_dl_allocate_tls
fun:__pthread_initialize_minimal
}
###
### These occur from somewhere within the SSL, when running
### test_socket_sll. They are too general to leave on by default.
###
###{
### somewhere in SSL stuff
### Memcheck:Cond
### fun:memset
###}
###{
### somewhere in SSL stuff
### Memcheck:Value4
### fun:memset
###}
###
###{
### somewhere in SSL stuff
### Memcheck:Cond
### fun:MD5_Update
###}
###
###{
### somewhere in SSL stuff
### Memcheck:Value4
### fun:MD5_Update
###}
#
# All of these problems come from using test_socket_ssl
#
{
from test_socket_ssl
Memcheck:Cond
fun:BN_bin2bn
}
{
from test_socket_ssl
Memcheck:Cond
fun:BN_num_bits_word
}
{
from test_socket_ssl
Memcheck:Value4
fun:BN_num_bits_word
}
{
from test_socket_ssl
Memcheck:Cond
fun:BN_mod_exp_mont_word
}
{
from test_socket_ssl
Memcheck:Cond
fun:BN_mod_exp_mont
}
{
from test_socket_ssl
Memcheck:Param
write(buf)
fun:write
obj:/usr/lib/libcrypto.so.0.9.7
}
{
from test_socket_ssl
Memcheck:Cond
fun:RSA_verify
}
{
from test_socket_ssl
Memcheck:Value4
fun:RSA_verify
}
{
from test_socket_ssl
Memcheck:Value4
fun:DES_set_key_unchecked
}
{
from test_socket_ssl
Memcheck:Value4
fun:DES_encrypt2
}
{
from test_socket_ssl
Memcheck:Cond
obj:/usr/lib/libssl.so.0.9.7
}
{
from test_socket_ssl
Memcheck:Value4
obj:/usr/lib/libssl.so.0.9.7
}
{
from test_socket_ssl
Memcheck:Cond
fun:BUF_MEM_grow_clean
}
{
from test_socket_ssl
Memcheck:Cond
fun:memcpy
fun:ssl3_read_bytes
}
{
from test_socket_ssl
Memcheck:Cond
fun:SHA1_Update
}
{
from test_socket_ssl
Memcheck:Value4
fun:SHA1_Update
}
# python init memleak
{
Py_Main memleak
Memcheck:Leak
fun:malloc
fun:PyObject_Malloc
fun:_PyObject_GC_Malloc
fun:_PyObject_GC_*
fun:*
fun:*
fun:*
fun:*
fun:Py_InitializeEx
}
{
Py_Main memleak
Memcheck:Leak
fun:malloc
fun:PyObject_Malloc
fun:_PyObject_GC_Malloc
fun:_PyObject_GC_*
fun:*
fun:*
fun:*
fun:*
fun:*
fun:*
fun:*
fun:Py_InitializeEx
}
{
Py_Main memleak v2
Memcheck:Leak
fun:malloc
fun:_PyObject_GC_Malloc
fun:_PyObject_GC_New
fun:*
fun:*
fun:*
fun:*
fun:*
fun:Py_InitializeEx
}
{
Read compiled module memleak
Memcheck:Leak
fun:malloc
fun:PyObject_Malloc
fun:_PyObject_GC_Malloc
fun:_PyObject_GC_NewVar
fun:*
fun:*
fun:*
fun:*
fun:*
fun:*
fun:*
fun:read_compiled_module
}
{
PyRun_SimpleFileExFlags memleak
Memcheck:Leak
fun:malloc
fun:_PyObject_GC_Malloc
fun:_PyObject_GC_New*
fun:*
fun:*
fun:*
fun:PyRun_SimpleFileExFlags
}
# memleak in update_keyword_args
{
update_keyword_args
Memcheck:Leak
fun:malloc
fun:_PyObject_GC_Malloc
fun:*
fun:*
fun:update_keyword_args
}
# memleaks/conds in import_submodule
{
memleak in import_submodule
Memcheck:Cond
fun:strcpy
fun:find_module
}
{
wrong jump in import_submodule
Memcheck:Cond
fun:find_module
fun:import_submodule
}
{
wrong jump in import_submodule
Memcheck:Cond
fun:find_module
fun:load_package
fun:load_module
fun:import_submodule
}
{
Use of uninitialised value of size 4
Memcheck:Value4
fun:strcpy
fun:find_module
}
## KNOWN MEMORY LEAK in gst_element_state_get_name
## See gstreamer/gst/gstutils.c
{
Known leak in gst_element_state_get_name
Memcheck:Leak
fun:*
fun:*
fun:*
fun:*
fun:g_strdup_printf
fun:gst_element_state_get_name
}
## Suppressions for FC5 64bit
{
Wrong jump in PyImport_ImportModuleEx
Memcheck:Cond
fun:__strcpy_chk
obj:/usr/lib64/libpython2.4.so.1.0
obj:/usr/lib64/libpython2.4.so.1.0
obj:/usr/lib64/libpython2.4.so.1.0
fun:PyImport_ImportModuleEx
}
{
Wrong jump in PyImport_ImportModuleEx
Memcheck:Cond
fun:__strcpy_chk
fun:PyImport_ImportModuleEx
}
{
Wrong jump in PyImport_ImportModuleEx
Memcheck:Cond
fun:__strcpy_chk
obj:/usr/lib64/libpython2.4.so.1.0
obj:/usr/lib64/libpython2.4.so.1.0
fun:PyObject_Call
fun:PyObject_CallFunction
obj:/usr/lib64/libpython2.4.so.1.0
obj:/usr/lib64/libpython2.4.so.1.0
obj:/usr/lib64/libpython2.4.so.1.0
fun:PyImport_ImportModuleEx
}
{
Wrong jump in PyUnicode_Decode
Memcheck:Cond
fun:PyUnicode_Decode
}
{
https://gitlab.gnome.org/GNOME/pygobject/-/merge_requests/204
Memcheck:Leak
match-leak-kinds: definite
fun:calloc
fun:g_malloc0
obj:*site-packages/gi/_gi*.so*
...
}

10
valgrind/.valgrindrc Normal file
View file

@ -0,0 +1,10 @@
--memcheck:leak-check=full
--memcheck:leak-resolution=high
--num-callers=20
--trace-children=yes
--suppressions=/opt/valgrind/glib.supp
--suppressions=/opt/valgrind/gstreamer.supp
--suppressions=/opt/valgrind/gst-plugins-base.supp
--suppressions=/opt/valgrind/gst-plugins-good.supp
--suppressions=/opt/valgrind/gst-plugins-bad.supp
--suppressions=/opt/valgrind/gst-plugins-ugly.supp