File: //www/server/mysql/mysql-test/valgrind.supp
# Copyright (c) 2005, 2022, Oracle and/or its affiliates.
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License, version 2.0,
# as published by the Free Software Foundation.
#
# This program is also distributed with certain software (including
# but not limited to OpenSSL) that is licensed under separate terms,
# as designated in a particular file or component or in included license
# documentation. The authors of MySQL hereby grant you an additional
# permission to link the program and your derivative works with the
# separately licensed software that they have included with MySQL.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License, version 2.0, for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
#
# Suppress some common (not fatal) errors in system libraries found by valgrind
#
#
# Pthread doesn't free all thread specific memory before program exists
#
{
pthread allocate_tls memory loss
Memcheck:Leak
fun:calloc
fun:_dl_allocate_tls
fun:allocate_stack
fun:pthread_create*
}
{
pthread allocate_tls memory loss
Memcheck:Leak
fun:calloc
fun:_dl_allocate_tls
fun:pthread_create*
}
{
pthead_exit memory loss 1
Memcheck:Leak
fun:malloc
fun:_dl_new_object
fun:_dl_map_object_from_fd
}
{
pthread_exit memory loss 2
Memcheck:Leak
fun:malloc
fun:_dl_map_object
fun:dl_open_worker
}
{
pthread_exit memory loss 3
Memcheck:Leak
fun:malloc
fun:_dl_map_object_deps
fun:dl_open_worker
}
{
pthread_exit memory loss 4
Memcheck:Leak
fun:calloc
fun:_dl_check_map_versions
fun:dl_open_worker
}
{
pthread_exit memory loss 5
Memcheck:Leak
fun:calloc
fun:_dl_new_object
fun:_dl_map_object_from_fd
}
{
pthread allocate_dtv memory loss
Memcheck:Leak
fun:calloc
fun:allocate_dtv
fun:_dl_allocate_tls_storage
fun:__GI__dl_allocate_tls
fun:pthread_create
}
{
pthread allocate_dtv memory loss second
Memcheck:Leak
fun:calloc
fun:allocate_dtv
fun:_dl_allocate_tls
fun:pthread_create*
}
{
pthread memalign memory loss
Memcheck:Leak
fun:memalign
fun:_dl_allocate_tls_storage
fun:__GI__dl_allocate_tls
fun:pthread_create
}
{
pthread pthread_key_create
Memcheck:Leak
fun:malloc
fun:*
fun:*
fun:pthread_key_create
fun:my_thread_global_init
}
{
pthread strstr uninit
Memcheck:Cond
fun:strstr
obj:/lib/tls/libpthread.so.*
obj:/lib/tls/libpthread.so.*
fun:call_init
fun:_dl_init
obj:/lib/ld-*.so
}
{
pthread strstr uninit
Memcheck:Cond
fun:strstr
obj:/lib/tls/libpthread.so.*
obj:/lib/tls/libpthread.so.*
fun:call_init
fun:_dl_init
obj:/lib/ld-*.so
}
{
strlen/_dl_init_paths/dl_main/_dl_sysdep_start(Cond)
Memcheck:Cond
fun:strlen
fun:_dl_init_paths
fun:dl_main
fun:_dl_sysdep_start
}
{
pthread errno
Memcheck:Leak
fun:calloc
fun:_dlerror_run
fun:dlsym
fun:__errno_location
}
#
# Warnings in libz becasue it works with aligned memory(?)
#
{
libz tr_flush_block
Memcheck:Cond
fun:_tr_flush_block
fun:deflate_slow
fun:deflate
fun:do_flush
fun:gzclose
}
{
libz tr_flush_block2
Memcheck:Cond
fun:_tr_flush_block
fun:deflate_slow
fun:deflate
fun:compress2
}
{
libz longest_match
Memcheck:Cond
fun:longest_match
fun:deflate_slow
fun:deflate
}
{
libz deflate
Memcheck:Cond
obj:*/libz.so.*
obj:*/libz.so.*
fun:deflate
fun:compress2
}
{
libz deflate2
Memcheck:Cond
obj:*/libz.so.*
obj:*/libz.so.*
fun:deflate
obj:*/libz.so.*
fun:gzflush
}
{
libz deflate3
Memcheck:Cond
obj:*/libz.so.*
obj:*/libz.so.*
fun:deflate
fun:do_flush
}
{
libz deflate4
Memcheck:Param
write(buf)
fun:*
fun:my_write
fun:do_flush
fun:azclose
}
#
# Warning from my_thread_init becasue mysqld dies before kill thread exists
#
{
my_thread_init kill thread memory loss second
Memcheck:Leak
fun:calloc
fun:my_thread_init
fun:kill_server_thread
}
# Red Hat AS 4 32 bit
{
dl_relocate_object
Memcheck:Cond
fun:_dl_relocate_object
}
#
# Warning from my_thread_init becasue mysqld dies before kill thread exists
#
{
my_thread_init kill thread memory loss second
Memcheck:Leak
fun:calloc
fun:my_thread_init
fun:kill_server_thread
}
#
# Leaks reported in _dl_* internal functions on Linux amd64 / glibc2.3.2.
#
{
_dl_start invalid write8
Memcheck:Addr8
fun:_dl_start
}
{
_dl_start invalid write4
Memcheck:Addr4
fun:_dl_start
}
{
_dl_start/_dl_setup_hash invalid read8
Memcheck:Addr8
fun:_dl_setup_hash
fun:_dl_start
}
{
_dl_sysdep_start invalid write8
Memcheck:Addr8
fun:_dl_sysdep_start
}
{
_dl_init invalid write8
Memcheck:Addr8
fun:_dl_init
}
{
_dl_init invalid write4
Memcheck:Addr4
fun:_dl_init
}
{
_dl_init/_dl_init invalid read8
Memcheck:Addr8
fun:_dl_debug_initialize
fun:_dl_init
}
{
_dl_init/_dl_debug_state invalid read8
Memcheck:Addr8
fun:_dl_debug_state
fun:_dl_init
}
{
init invalid write8
Memcheck:Addr8
fun:init
}
{
fixup invalid write8
Memcheck:Addr8
fun:fixup
}
{
fixup/_dl_lookup_versioned_symbol invalid read8
Memcheck:Addr8
fun:_dl_lookup_versioned_symbol
fun:fixup
}
{
_dl_runtime_resolve invalid read8
Memcheck:Addr8
fun:_dl_runtime_resolve
}
{
__libc_start_main invalid write8
Memcheck:Addr8
fun:__libc_start_main
}
{
__libc_start_main/__sigjmp_save invalid write4
Memcheck:Addr4
fun:__sigjmp_save
fun:__libc_start_main
}
#
# These seem to be libc threading stuff, not related to MySQL code (allocations
# during pthread_exit()). Googling shows other projects also using these
# suppressions.
#
# Note that these all stem from pthread_exit() deeper in the call stack, but
# Valgrind only allows the top four calls in the suppressions.
#
{
libc pthread_exit 1
Memcheck:Leak
fun:malloc
fun:_dl_new_object
fun:_dl_map_object_from_fd
fun:_dl_map_object
}
{
libc pthread_exit 2
Memcheck:Leak
fun:malloc
fun:_dl_map_object
fun:dl_open_worker
fun:_dl_catch_error
}
{
libc pthread_exit 3
Memcheck:Leak
fun:malloc
fun:_dl_map_object_deps
fun:dl_open_worker
fun:_dl_catch_error
}
{
libc pthread_exit 4
Memcheck:Leak
fun:calloc
fun:_dl_check_map_versions
fun:dl_open_worker
fun:_dl_catch_error
}
{
libc pthread_exit 5
Memcheck:Leak
fun:calloc
fun:_dl_new_object
fun:_dl_map_object_from_fd
fun:_dl_map_object
}
{
libc pthread_exit 6
Memcheck:Leak
fun:malloc
fun:_dl_map_object
fun:openaux
fun:_dl_catch_error
}
{
libc pthread_exit 7
Memcheck:Leak
fun:malloc
fun:dl_open_worker
fun:_dl_catch_error
fun:_dl_open
}
{
libc pthread_exit 8
Memcheck:Leak
fun:malloc
fun:local_strdup
fun:_dl_map_object
fun:dl_open_worker
}
#
# This is seen internally in the system libraries on 64-bit RHAS3.
#
{
__lll_mutex_unlock_wake uninitialized
Memcheck:Param
futex(utime)
fun:__lll_mutex_unlock_wake
}
#
# BUG#19940: NDB sends uninitialized parts of field buffers across the wire.
# This is "works as designed"; the uninitialized part is not used at the
# other end (but Valgrind cannot see this).
#
{
bug19940
Memcheck:Param
socketcall.sendto(msg)
fun:send
fun:_ZN15TCP_Transporter6doSendEv
fun:_ZN19TransporterRegistry11performSendEv
fun:_ZN19TransporterRegistry14forceSendCheckEi
}
# Warning when printing stack trace (to suppress some not needed warnings)
#
{
vprintf on stacktrace
Memcheck:Cond
fun:vfprintf
fun:uffered_vfprintf
fun:vfprintf
fun:fprintf
fun:print_stacktrace
}
#
# Safe warnings, that may happen because of thread scheduling
#
{
dbug initialization by kill_server
Memcheck:Leak
fun:malloc
fun:DbugMalloc
fun:code_state
fun:_db_enter_
fun:kill_server
}
#
# Warning caused by small memory leak in threaded dlopen
#
{
dlopen threaded memory leak
Memcheck:Leak
fun:calloc
obj:*/libdl-*.so
fun:dlopen*
}
#
# Pthread doesn't free all thread specific memory before program exists
#
{
pthread allocate_tls memory loss in 2.6.1.
Memcheck:Leak
fun:calloc
obj:*/ld-*.so
fun:_dl_allocate_tls
fun:pthread_create*
}
{
buf_buddy_relocate peeking (space,page) in potentially free blocks
Memcheck:Addr1
fun:buf_buddy_relocate
}
#
# Bug#56666 is fixed by WL#6407
# Also, as part of WL#6407, call to shutdown_performance_schema()
# is uncommented in sql/mysqld.cc. As this call was commented out
# for long time, there are still some leaks which needs to be
# addressed by pfs.
{
missing shutdown_performance_schema 1b
Memcheck:Leak
fun:memalign
fun:posix_memalign
fun:_Z10pfs_mallocmi
}
# The '...' wildcard is for 'fun:my_raw_malloc' which is hidden with HAVE_VALGRIND
{
missing shutdown_performance_schema 2
Memcheck:Leak
fun:malloc
...
fun:my_malloc
fun:lf_alloc_new
fun:lf_hash_insert
}
# The '...' wildcard is for 'fun:my_raw_malloc' which is hidden with HAVE_VALGRIND
{
missing shutdown_performance_schema 2-mem
Memcheck:Leak
...
fun:my_malloc
fun:lf_alloc_new
fun:lf_hash_insert
}
#
# Note that initialize_bucket() is reccursive,
# can't provide more stack context.
#
# The '...' wildcard is for 'fun:my_raw_malloc' which is hidden with HAVE_VALGRIND
{
missing shutdown_performance_schema 3a
Memcheck:Leak
fun:malloc
...
fun:my_malloc
fun:initialize_bucket
}
# The '...' wildcard is for 'fun:my_raw_malloc' which is hidden with HAVE_VALGRIND
{
missing shutdown_performance_schema 3a-mem
Memcheck:Leak
...
fun:my_malloc
fun:initialize_bucket
}
# The '...' wildcard is for 'fun:my_raw_malloc' which is hidden with HAVE_VALGRIND
{
missing shutdown_performance_schema 3b
Memcheck:Leak
fun:malloc
...
fun:my_malloc
fun:lf_dynarray_lvalue
fun:initialize_bucket
}
# The '...' wildcard is for 'fun:my_raw_malloc' which is hidden with HAVE_VALGRIND
{
missing shutdown_performance_schema 3b-mem
Memcheck:Leak
...
fun:my_malloc
fun:lf_dynarray_lvalue
fun:initialize_bucket
}
# The '...' wildcard is for 'fun:my_raw_malloc' which is hidden with HAVE_VALGRIND
{
missing shutdown_performance_schema 4
Memcheck:Leak
fun:malloc
...
fun:my_malloc
fun:lf_dynarray_lvalue
fun:lf_pinbox_get_pins
}
# The '...' wildcard is for 'fun:my_raw_malloc' which is hidden with HAVE_VALGRIND
{
missing shutdown_performance_schema 4-mem
Memcheck:Leak
...
fun:my_malloc
fun:lf_dynarray_lvalue
fun:lf_pinbox_get_pins
}
# The '...' wildcard is for 'fun:my_raw_malloc' which is hidden with HAVE_VALGRIND
{
missing shutdown_performance_schema 5
Memcheck:Leak
fun:malloc
...
fun:my_malloc
fun:lf_dynarray_lvalue
fun:lf_hash_insert
}
# The '...' wildcard is for 'fun:my_raw_malloc' which is hidden with HAVE_VALGRIND
{
missing shutdown_performance_schema 5-mem
Memcheck:Leak
...
fun:my_malloc
fun:lf_dynarray_lvalue
fun:lf_hash_insert
}
# The '...' wildcard is for 'fun:my_raw_malloc' which is hidden with HAVE_VALGRIND
{
missing shutdown_performance_schema 6
Memcheck:Leak
fun:malloc
...
fun:my_malloc
fun:lf_dynarray_lvalue
fun:lf_hash_delete
}
# The '...' wildcard is for 'fun:my_raw_malloc' which is hidden with HAVE_VALGRIND
{
missing shutdown_performance_schema 6-mem
Memcheck:Leak
...
fun:my_malloc
fun:lf_dynarray_lvalue
fun:lf_hash_delete
}
# The '...' wildcard is for 'fun:my_raw_malloc' which is hidden with HAVE_VALGRIND
{
missing shutdown_performance_schema 7
Memcheck:Leak
fun:malloc
...
fun:my_malloc
fun:lf_dynarray_lvalue
fun:lf_hash_search
}
# The '...' wildcard is for 'fun:my_raw_malloc' which is hidden with HAVE_VALGRIND
{
missing shutdown_performance_schema 7-mem
Memcheck:Leak
...
fun:my_malloc
fun:lf_dynarray_lvalue
fun:lf_hash_search
}
{
Bug 59874 Valgrind warning in InnoDB compression code
Memcheck:Cond
fun:*
fun:*
fun:deflate
fun:btr_store_big_rec_extern_fields_func
fun:row_ins_index_entry_low
fun:row_ins_index_entry
fun:row_ins_index_entry_step
fun:row_ins
fun:row_ins_step
fun:row_insert_for_mysql
}
{
In page0zip.c we have already checked that the memory is initialized before calling deflate()
Memcheck:Cond
fun:*
fun:*
fun:deflate
fun:page_zip_compress
}
{
In page0zip.c we have already checked that the memory is initialized before calling deflate()
Memcheck:Cond
fun:*
fun:*
fun:deflate
fun:page_zip_compress_deflate
}
{
In page0zip.c we have already checked that the memory is initialized before calling deflate()
Memcheck:Cond
obj:*/libz.so*
obj:*/libz.so*
fun:deflate
fun:page_zip_compress
fun:page_zip_reorganize
fun:page_cur_insert_rec_zip_reorg
fun:page_cur_insert_rec_zip
fun:page_cur_tuple_insert
fun:btr_cur_optimistic_insert
fun:btr_cur_pessimistic_insert
fun:row_ins_index_entry_low
fun:row_ins_index_entry
fun:row_ins_index_entry_step
fun:row_ins
fun:row_ins_step
fun:row_insert_for_mysql
}
{
In page0zip.c we have already checked that the memory is initialized before calling deflate()
Memcheck:Cond
obj:*/libz.so*
obj:*/libz.so*
fun:deflate
fun:page_zip_compress
fun:page_zip_reorganize
fun:page_cur_insert_rec_zip_reorg
fun:page_cur_insert_rec_zip
fun:page_cur_tuple_insert
fun:btr_cur_optimistic_insert
fun:row_ins_index_entry_low
fun:row_ins_index_entry
fun:row_ins_index_entry_step
fun:row_ins
fun:row_ins_step
fun:row_insert_for_mysql
}
{
In page0zip.c we have already checked that the memory is initialized before calling deflate()
Memcheck:Cond
obj:*/libz.so*
obj:*/libz.so*
fun:deflate
fun:page_zip_compress
fun:page_copy_rec_list_end
fun:page_move_rec_list_end
fun:btr_page_split_and_insert
fun:btr_root_raise_and_insert
fun:btr_cur_pessimistic_insert
fun:row_ins_index_entry_low
fun:row_ins_index_entry
fun:row_ins_index_entry_step
fun:row_ins
fun:row_ins_step
fun:row_insert_for_mysql
}
{
In page0zip.c we have already checked that the memory is initialized before calling deflate()
Memcheck:Cond
obj:*/libz.so*
obj:*/libz.so*
fun:deflate
fun:page_zip_compress
fun:page_cur_insert_rec_zip_reorg
fun:page_cur_insert_rec_zip
fun:page_cur_tuple_insert
fun:btr_cur_optimistic_insert
fun:btr_cur_pessimistic_insert
fun:row_ins_index_entry_low
fun:row_ins_index_entry
fun:row_ins_index_entry_step
fun:row_ins
fun:row_ins_step
fun:row_insert_for_mysql
}
{
Bug 59875 Valgrind warning in buf0buddy.c
Memcheck:Addr1
fun:mach_read_from_4
fun:buf_buddy_relocate
fun:buf_buddy_free_low
fun:buf_buddy_free
}
#
# NDB packfrm vs deflate
#
{
NDB packfrm case 1
Memcheck:Cond
fun:deflate_slow
fun:deflate
fun:compress
fun:my_compress_alloc
fun:my_compress
fun:packfrm
}
{
NDB packfrm case 2
Memcheck:Cond
fun:longest_match
fun:deflate_slow
fun:deflate
fun:compress
fun:my_compress_alloc
fun:my_compress
fun:packfrm
}
#
# pfs vs compress
#
{
pfs vs. compress case 1
Memcheck:Cond
fun:longest_match
fun:deflate_slow
fun:deflate
fun:compress
fun:my_compress_alloc
fun:my_compress
}
{
pfs vs. compress case 2
Memcheck:Cond
fun:deflate_slow
fun:deflate
fun:compress
fun:my_compress_alloc
fun:my_compress
}
# Note the wildcard in the (mangled) function signatures of
# write_keys() and find_all_keys().
# They both return ha_rows, which is platform dependent.
#
# The '...' wildcards are for 'fun:inline_mysql_file_write' which *may*
# be inlined.
{
Bug#12856915 VALGRIND FAILURE IN FILESORT/CREATE_SORT_INDEX / one
Memcheck:Param
write(buf)
...
fun:my_b_flush_io_cache
fun:_my_b_write
fun:_Z*10write_keysP10Sort_paramP13Filesort_infojP11st_io_cacheS4_
...
fun:_Z8filesortP3THDP8FilesortbPyS3_S3_
}
{
Bug#12856915 VALGRIND FAILURE IN FILESORT/CREATE_SORT_INDEX / three
Memcheck:Param
write(buf)
...
fun:my_b_flush_io_cache
fun:_Z8filesortP3THDP8FilesortbPyS3_S3_
}
{
OpenSSL still reachable.
Memcheck:Leak
fun:malloc
fun:CRYPTO_malloc
fun:sk_new
...
fun:SSL_COMP_get_compression_methods
fun:SSL_library_init
}
{
OpenSSL still reachable.
Memcheck:Leak
fun:malloc
fun:CRYPTO_malloc
fun:engine_cleanup_add_last
fun:ENGINE_add
}
{
OpenSSL still reachable.
Memcheck:Leak
fun:malloc
fun:CRYPTO_malloc
fun:sk_new
fun:engine_cleanup_add_last
fun:ENGINE_add
}
{
OpenSSL still reachable.
Memcheck:Leak
fun:malloc
fun:CRYPTO_malloc
fun:ENGINE_new
}
{
Bug#16039908 "BYTES STILL REACHABLE" IN VALGRIND TEST ON 5.6/TRUNK
Memcheck:Leak
fun:calloc
fun:_dlerror_run
fun:dlclose
fun:_ZL15free_plugin_memP12st_plugin_dl
fun:_ZL13plugin_dl_delPK19st_mysql_lex_string
fun:_ZL10plugin_delP13st_plugin_int
fun:_ZL12reap_pluginsv
fun:_Z15plugin_shutdownv
fun:_Z*8clean_upb*
}
{
main.udf gives similar warning as Bug#16039908
Memcheck:Leak
fun:calloc
fun:_dlerror_run
fun:dlclose
fun:_Z8udf_freev
fun:_Z*8clean_upb*
}
#Suppress warnings from glibc implementation of 'malloc_info'
{
Malloc_info uninitialised value of size 8
Memcheck:Value8
fun:_itoa_word
fun:vfprintf
fun:fprintf
fun:mi_arena.*
fun:malloc_info
}
{
Malloc_info conditional jump depends on uninitialised values
Memcheck:Cond
...
fun:mi_arena.*
fun:malloc_info
}
#supress warnings from openssl random generator
{
OpenSSL conditional jump in ssl3_ctx_ctrl
Memcheck:Cond
...
fun:ssl3_ctx_ctrl
fun:new_VioSSLFd
}
{
OpenSSL uninitialised value of size 8 in new_VioSSLFd
Memcheck:Value8
fun:BN_num_bits_word
fun:BN_num_bits
...
fun:new_VioSSLFd
}
{
OpenSSL uninitialised value of size 8 in new_VioSSLFd
Memcheck:Value8
fun:BN_mod_exp_mont_consttime
...
fun:new_VioSSLFd
}
{
OpenSSL PB2 / 1
Memcheck:Leak
match-leak-kinds: reachable
fun:malloc
fun:CRYPTO_malloc
fun:sk_new
fun:SSL_COMP_get_compression_methods
fun:SSL_library_init
fun:ssl_start
fun:_Z8init_sslv
fun:_Z11mysqld_mainiPPc
fun:main
}
{
OpenSSL PB2 / 2
Memcheck:Leak
match-leak-kinds: reachable
fun:malloc
fun:CRYPTO_malloc
fun:sk_new
fun:SSL_COMP_get_compression_methods
fun:SSL_library_init
fun:ssl_start
fun:_ZL8init_sslv
fun:_Z11mysqld_mainiPPc
fun:main
}
{
OpenSSL libstdc++ version 5 / one
Memcheck:Leak
match-leak-kinds: reachable
fun:malloc
fun:CRYPTO_malloc
fun:sk_new
obj:/lib/x86_64-linux-gnu/libssl.so.1.0.0
fun:SSL_COMP_get_compression_methods
fun:SSL_library_init
fun:ssl_start
fun:_ZL8init_sslv
fun:_Z11mysqld_mainiPPc
fun:main
}
{
OpenSSL libstdc++ version 5 / two
Memcheck:Leak
match-leak-kinds: reachable
fun:malloc
fun:CRYPTO_malloc
fun:sk_new
obj:/lib/x86_64-linux-gnu/libssl.so.1.0.0
fun:SSL_COMP_get_compression_methods
fun:SSL_library_init
fun:ssl_start
fun:_ZL8init_sslv
fun:_Z11mysqld_mainiPPc
fun:main
}
{
OpenSSL libstdc++ version 5 / three
Memcheck:Leak
match-leak-kinds: reachable
fun:malloc
obj:/usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.21
fun:call_init.part.0
fun:call_init
fun:_dl_init
}
# supress uninitialized because some SSL libraries do random like that
{
OpenSSL conditional jump in generate_user_salt due to randomness
Memcheck:Cond
fun:generate_user_salt
fun:native_password_authenticate
}
{
General protobuf globals
Memcheck:Leak
fun:_Znwm
...
fun:_GLOBAL__sub_I_mysqlx*.pb.cc
...
}
{
mysqlx plugin install
Memcheck:Leak
fun:*alloc
...
fun:_dl_catch_error
...
fun:dlopen*
...
fun:_ZL13plugin_dl_addPK19st_mysql_lex_stringi*
...
}
# supress inability to cleanup OpenSSL error contexts in GR
{
OpenSSL GR suppress leak 1
Memcheck:Leak
match-leak-kinds: reachable
fun:malloc
fun:CRYPTO_malloc
fun:ERR_get_state
fun:ERR_clear_error
obj:*
obj:*
obj:*
obj:*
obj:*
obj:*
obj:*
obj:*
obj:*
fun:_ZN14Trans_delegate13before_commitEP3THDbP11st_io_cacheS3_y
fun:_ZN13MYSQL_BIN_LOG6commitEP3THDb
fun:_Z17trans_commit_stmtP3THD
}
{
OpenSSL GR suppress leak 2
Memcheck:Leak
match-leak-kinds: reachable
fun:malloc
fun:CRYPTO_malloc
fun:ERR_get_state
fun:ERR_clear_error
obj:*
obj:*
obj:*
obj:*
obj:*
obj:*
obj:*
obj:*
obj:*
fun:_ZN14Trans_delegate13before_commitEP3THDbP11st_io_cacheS3_y
fun:_ZN13MYSQL_BIN_LOG6commitEP3THDb
fun:_Z15ha_commit_transP3THDbb
}
{
OpenSSL GR suppress leak 3
Memcheck:Leak
match-leak-kinds: reachable
fun:malloc
fun:CRYPTO_malloc
fun:lh_insert
fun:int_thread_set_item
fun:ERR_get_state
fun:ERR_clear_error
obj:*
obj:*
obj:*
obj:*
obj:*
obj:*
obj:*
obj:*
obj:*
fun:_ZN14Trans_delegate13before_commitEP3THDbP11st_io_cacheS3_y
}
{
OpenSSL GR suppress leak 4
Memcheck:Leak
match-leak-kinds: reachable
fun:malloc
fun:CRYPTO_malloc
fun:lh_new
fun:int_thread_get
fun:int_thread_set_item
fun:ERR_get_state
fun:ERR_put_error
fun:PEM_read_bio
fun:PEM_X509_INFO_read_bio
fun:X509_load_cert_crl_file
fun:by_file_ctrl
fun:X509_STORE_load_locations
obj:*
obj:*
obj:*
obj:*
}
{
OpenSSL leak 1 static SSL
Memcheck:Leak
match-leak-kinds: reachable
fun:malloc
fun:CRYPTO_malloc
...
fun:pthread_once
}
{
OpenSSL leak 2 static SSL
Memcheck:Leak
match-leak-kinds: reachable
fun:realloc
fun:CRYPTO_realloc
...
fun:pthread_once
}
{
OpenSSL leak 1 static SSL pthread_once_slow
Memcheck:Leak
match-leak-kinds: reachable
fun:malloc
fun:CRYPTO_malloc
...
fun:__pthread_once_slow
}
{
OpenSSL leak 2 static SSL pthread_once_slow
Memcheck:Leak
match-leak-kinds: reachable
fun:realloc
fun:CRYPTO_realloc
...
fun:__pthread_once_slow
}
{
OpenSSL leak 3 static SSL
Memcheck:Leak
match-leak-kinds: reachable
fun:malloc
fun:CRYPTO_malloc
...
fun:RAND_priv_bytes
}
{
OpenSSL leak 4 static SSL
Memcheck:Leak
match-leak-kinds: reachable
fun:malloc
fun:CRYPTO_malloc
...
fun:RAND_bytes
}
# http://www.openldap.org/its/index.cgi/Software%20Bugs?id=9081;page=23
# Memory leak in ldap_initialize/ldap_unbind
# Version: 2.4.48
# Fixed in RE24 (2.4.49)
{
OpenLDAP bug 9081
Memcheck:Leak
match-leak-kinds: definite
fun:calloc
fun:ber_memcalloc_x
fun:ber_memcalloc
fun:ber_sockbuf_alloc
fun:ldap_create
fun:ldap_initialize
}
{
cyrus libsasl2 still reachable one
Memcheck:Leak
match-leak-kinds: reachable
fun:malloc
...
fun:sasl_client_init
}
{
cyrus libsasl2 still reachable two
Memcheck:Leak
match-leak-kinds: reachable
fun:calloc
...
fun:sasl_client_init
}
{
cyrus libsasl2 still reachable three
Memcheck:Leak
match-leak-kinds: reachable
fun:malloc
...
fun:sasl_set_path
}
{
OpenSSL still reachable.
Memcheck:Leak
match-leak-kinds: reachable
fun:malloc
fun:CRYPTO_malloc
...
fun:ERR_peek_error
fun:vio_ssl_read
...
}
{
OpenSSL still reachable.
Memcheck:Leak
match-leak-kinds: reachable
fun:malloc
fun:CRYPTO_malloc
...
fun:ERR_peek_error
...
fun:sslaccept
...
fun:server_mpvio_read_packet
...
}
#
# Rules to suppress leaks from plugin dependencies
#
{
TPL leak 1
Memcheck:Leak
match-leak-kinds: reachable
fun:malloc
fun:CRYPTO_malloc
fun:BUF_strndup
fun:CONF_module_add
obj:*
obj:*
obj:*
obj:*
obj:*
obj:*
fun:_ZL17plugin_initializeP13st_plugin_int
...
}
{
TPL leak 2
Memcheck:Leak
match-leak-kinds: reachable
fun:malloc
fun:CRYPTO_malloc
fun:BUF_strndup
fun:CONF_module_add
obj:*
obj:*
obj:*
obj:*
obj:*
fun:_ZL17plugin_initializeP13st_plugin_int
...
}
{
TPL leak 3
Memcheck:Leak
match-leak-kinds: reachable
fun:malloc
fun:CRYPTO_malloc
fun:lh_insert
fun:int_thread_set_item
fun:ERR_get_state
fun:ERR_clear_error
obj:*
obj:*
obj:*
obj:*
obj:*
obj:*
fun:_ZL17plugin_initializeP13st_plugin_int
...
}
{
TPL leak 4
Memcheck:Leak
match-leak-kinds: reachable
fun:malloc
fun:CRYPTO_malloc
fun:sk_new
fun:CONF_module_add
obj:*
obj:*
obj:*
obj:*
obj:*
obj:*
fun:_ZL17plugin_initializeP13st_plugin_int
...
}
{
TPL leak 5
Memcheck:Leak
match-leak-kinds: reachable
fun:malloc
fun:CRYPTO_malloc
fun:sk_new
fun:SSL_COMP_get_compression_methods
fun:SSL_library_init
obj:*
obj:*
obj:*
obj:*
obj:*
fun:_ZL17plugin_initializeP13st_plugin_int
...
}
{
TPL leak 6
Memcheck:Leak
match-leak-kinds: reachable
fun:malloc
fun:CRYPTO_malloc
fun:CONF_module_add
obj:*
obj:*
obj:*
obj:*
obj:*
obj:*
fun:_ZL17plugin_initializeP13st_plugin_int
...
}
{
TPL leak 7
Memcheck:Leak
match-leak-kinds: reachable
fun:malloc
fun:CRYPTO_malloc
fun:CONF_module_add
obj:*
obj:*
obj:*
obj:*
obj:*
fun:_ZL17plugin_initializeP13st_plugin_int
...
}
{
TPL leak 8
Memcheck:Leak
match-leak-kinds: reachable
fun:malloc
fun:CRYPTO_malloc
fun:lh_new
fun:int_thread_get
fun:int_thread_set_item
fun:ERR_get_state
fun:ERR_clear_error
obj:*
obj:*
obj:*
obj:*
obj:*
obj:*
fun:_ZL17plugin_initializeP13st_plugin_int
...
}
{
TPL leak 9
Memcheck:Leak
match-leak-kinds: reachable
fun:malloc
fun:CRYPTO_malloc
fun:ERR_get_state
fun:ERR_clear_error
obj:*
obj:*
obj:*
obj:*
obj:*
obj:*
fun:_ZL17plugin_initializeP13st_plugin_int
...
}
{
TPL leak 10
Memcheck:Leak
match-leak-kinds: definite
fun:malloc
obj:*
obj:*
obj:*
obj:*
obj:*
obj:*
obj:*
fun:_ZL17plugin_initializeP13st_plugin_int
...
}
{
TPL leak 11
Memcheck:Leak
match-leak-kinds: reachable
fun:malloc
fun:CRYPTO_malloc
fun:ERR_get_state
fun:ERR_put_error
fun:PEM_read_bio
fun:PEM_X509_INFO_read_bio
fun:X509_load_cert_crl_file
fun:by_file_ctrl
fun:X509_STORE_load_locations
obj:*
obj:*
obj:*
obj:*
obj:*
obj:*
fun:_ZL17plugin_initializeP13st_plugin_int
}
{
TPL leak 12
Memcheck:Leak
match-leak-kinds: reachable
fun:malloc
fun:CRYPTO_malloc
fun:BUF_strndup
fun:CONF_module_add
obj:*
obj:*
obj:*
obj:*
obj:*
obj:*
obj:*
obj:*
obj:*
obj:*
obj:*
obj:*
}
{
TPL leak 13
Memcheck:Leak
match-leak-kinds: reachable
fun:malloc
fun:CRYPTO_malloc
fun:CONF_module_add
obj:*
obj:*
obj:*
obj:*
obj:*
obj:*
obj:*
obj:*
obj:*
obj:*
obj:*
obj:*
obj:*
}
{
TPL leak 14
Memcheck:Leak
match-leak-kinds: reachable
fun:malloc
fun:CRYPTO_malloc
fun:sk_new
fun:SSL_COMP_get_compression_methods
fun:SSL_library_init
obj:*
fun:_ZL17plugin_initializeP13st_plugin_int
...
}
{
TPL leak 15
Memcheck:Leak
match-leak-kinds: reachable
fun:malloc
fun:CRYPTO_malloc
fun:lh_insert
fun:int_thread_set_item
fun:ERR_get_state
fun:ERR_put_error
fun:PEM_read_bio
fun:PEM_X509_INFO_read_bio
fun:X509_load_cert_crl_file
fun:by_file_ctrl
fun:X509_STORE_load_locations
obj:*
obj:*
obj:*
obj:*
obj:*
}
{
TPL leak 16
Memcheck:Leak
match-leak-kinds: reachable
fun:realloc
fun:CRYPTO_realloc
fun:sk_insert
fun:CONF_module_add
obj:*
obj:*
obj:*
obj:*
obj:*
obj:*
fun:_ZL17plugin_initializeP13st_plugin_int
...
}
{
TPL leak 17
Memcheck:Leak
match-leak-kinds: reachable
fun:malloc
fun:CRYPTO_malloc
fun:lh_insert
fun:int_thread_set_item
fun:ERR_get_state
fun:ERR_clear_error
obj:*
obj:*
obj:*
obj:*
obj:*
obj:*
obj:*
obj:*
obj:*
obj:*
}
{
TPL leak 18
Memcheck:Leak
match-leak-kinds: reachable
fun:malloc
fun:CRYPTO_malloc
fun:lh_insert
fun:int_thread_set_item
fun:ERR_get_state
fun:ERR_clear_error
obj:*
obj:*
obj:*
obj:*
obj:*
obj:*
obj:*
obj:*
obj:*
obj:*
obj:*
obj:*
}
{
TPL leak 19
Memcheck:Leak
match-leak-kinds: reachable
fun:malloc
fun:CRYPTO_malloc
fun:ERR_get_state
fun:ERR_clear_error
obj:*
obj:*
obj:*
obj:*
obj:*
obj:*
obj:*
obj:*
obj:*
obj:*
obj:*
obj:*
}
{
TPL leak 20
Memcheck:Leak
match-leak-kinds: definite
fun:malloc
obj:*
obj:*
obj:*
obj:*
obj:*
obj:*
fun:_ZL17plugin_initializeP13st_plugin_int
...
}
{
TPL leak 21
Memcheck:Leak
match-leak-kinds: possible
fun:malloc
obj:*
obj:*
obj:*
obj:*
obj:*
obj:*
fun:_ZL17plugin_initializeP13st_plugin_int
...
}
{
TPL leak 22
Memcheck:Leak
match-leak-kinds: reachable
fun:malloc
fun:CRYPTO_malloc
fun:lh_new
fun:int_thread_get
fun:int_thread_set_item
fun:ERR_get_state
fun:ERR_clear_error
obj:*
obj:*
obj:*
obj:*
obj:*
obj:*
obj:*
fun:_ZL17plugin_initializeP13st_plugin_int
...
}
# Bug #25964438 LDAP: ASAN AND VALGRIND ISSUES
{
LDAP_TLS_workaround1
Memcheck:Leak
fun:calloc
...
...
...
...
...
fun:ldap_int_tls_start
fun:ldap_start_tls_s
fun:*establish_tls*
fun:*create*
}
{
LDAP_TLS_workaround2
Memcheck:Leak
fun:malloc
...
...
...
...
...
fun:ldap_int_tls_start
fun:ldap_start_tls_s
fun:*establish_tls*
fun:*create*
}
{
LDAP_TLS_workaround3
Memcheck:Leak
fun:calloc
fun:PR_LoadLibraryWithFlags
...
...
...
fun:PR_CallOnce
...
...
fun:_dl_init
}
{
LDAP_TLS_workaround4
Memcheck:Leak
fun:malloc
fun:PR_ErrorInstallTable
fun:PR_CallOnce
...
...
fun:PR_CallOnceWithArg
...
fun:NSS_SetDomesticPolicy
...
fun:PR_CallOnceWithArg
...
...
...
fun:ldap_int_tls_start
fun:ldap_start_tls_s
fun:*establish_tls*
}
{
LDAP_TLS_workaround5
Memcheck:Leak
fun:malloc
...
fun:PR_LoadLibraryWithFlags
...
...
...
fun:PR_CallOnce
...
...
...
...
fun:_dl_catch_error
fun:_dl_open
fun:dlopen_doit
fun:_dl_catch_error
fun:_dlerror_run
}
{
LDAP_TLS_workaround6
Memcheck:Leak
fun:malloc
fun:ber_memalloc_x
fun:ber_strdup_x
...
fun:ldap_int_initialize
fun:ldap_create
fun:ldap_initialize
fun:*create*
}
{
LDAP_TLS_workaround7
Memcheck:Leak
fun:malloc
fun:*dl_close_worker*
fun:*dl_close*
fun:*dl_catch_error*
fun:*libc_dlclose*
fun:*free_mem*
fun:*libc_freeres*
fun:*vgnU_freeres*
fun:*run_exit_handlers*
fun:exit*
fun:*mysqld_exit*
fun:*mysqld_main*
fun:*main*
}
{
LDAP_TLS_workaround8
Memcheck:Leak
fun:malloc
fun:ber_memalloc_x
fun:ber_strdup_x
...
fun:ldap_int_initialize
fun:ldap_set_option
fun:*configure_tls*
}
{
LDAP_TLS_workaround9
Memcheck:Leak
match-leak-kinds: reachable
fun:malloc
fun:PR_ErrorInstallTable
...
...
...
...
...
...
...
...
...
...
...
...
fun:ldap_int_tls_start
fun:ldap_start_tls_s
}
{
AWS_SDK_1_9_s2n_init
Memcheck:Leak
match-leak-kinds: reachable,definite,indirect
...
fun:s2n_init
...
}
{
AWS_SDK_1_9_curl_init
Memcheck:Leak
match-leak-kinds: reachable
...
fun:curl_global_init
...
fun:_ZN3Aws7InitAPIERKNS_10SDKOptionsE
}
{
AWS_SDK_1_9_conf_modules_load
Memcheck:Leak
match-leak-kinds: reachable
...
fun:CONF_modules_load_file
fun:_ZL12keyring_initPv
...
}