GIF89a;
Direktori : /usr/share/mysql-test/ |
Current File : //usr/share/mysql-test/valgrind.supp |
# Copyright (c) 2005, 2019, Oracle and/or its affiliates. All rights reserved. # # 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 } # # See related Bug#56666 # Race condition between the server main thread and the kill server thread. # # Because of this race condition, the call to shutdown_performance_schema() # was commented in sql/mysqld.cc, causing the reported leaks. # { missing shutdown_performance_schema 1a Memcheck:Leak fun:malloc fun:_Z10pfs_mallocmi } { missing shutdown_performance_schema 1b Memcheck:Leak fun:memalign fun:posix_memalign fun:_Z10pfs_mallocmi } { missing shutdown_performance_schema 2 Memcheck:Leak fun:malloc fun:my_malloc fun:_lf_alloc_new fun:lf_hash_insert } # # Note that initialize_bucket() is reccursive, # can't provide more stack context. # { missing shutdown_performance_schema 3a Memcheck:Leak fun:malloc fun:my_malloc fun:initialize_bucket } { missing shutdown_performance_schema 3b Memcheck:Leak fun:malloc fun:my_malloc fun:_lf_dynarray_lvalue fun:initialize_bucket } { missing shutdown_performance_schema 4 Memcheck:Leak fun:malloc fun:my_malloc fun:_lf_dynarray_lvalue fun:_lf_pinbox_get_pins } { missing shutdown_performance_schema 5 Memcheck:Leak fun:malloc fun:my_malloc fun:_lf_dynarray_lvalue fun:lf_hash_insert } { missing shutdown_performance_schema 6 Memcheck:Leak fun:malloc fun:my_malloc fun:_lf_dynarray_lvalue fun:lf_hash_delete } { missing shutdown_performance_schema 7 Memcheck:Leak fun:malloc fun:my_malloc fun:_lf_dynarray_lvalue fun:lf_hash_search } { missing shutdown_performance_schema 8 Memcheck:Leak fun:malloc fun:my_malloc fun:_Z22add_pfs_instr_to_arrayPKcS0_ fun:mysqld_get_one_option fun:my_handle_options fun:handle_options fun:_Z20handle_early_optionsv } { missing shutdown_performance_schema 9 Memcheck:Leak fun:malloc fun:my_malloc fun:init_dynamic_array2 fun:_Z25init_pfs_instrument_arrayv fun:_Z11mysqld_mainiPPc fun:main } { missing shutdown_performance_schema 9a Memcheck:Leak fun:malloc fun:my_malloc fun:_Z22add_pfs_instr_to_arrayPKcS0_ fun:mysqld_get_one_option fun:my_handle_options fun:_Z20handle_early_optionsv fun:_Z11mysqld_mainiPPc } # Same as shutdown_performance_schema 9, # but the compiler/linker can sometime change the # calls from: # main() # --> init_pfs_instrument_array() # --> init_dynamic_array2() # to: # main() # --> init_dynamic_array2() # when building with optimizations. { missing shutdown_performance_schema 10 Memcheck:Leak fun:malloc fun:my_malloc fun:init_dynamic_array2 fun:_Z11mysqld_mainiPPc fun:main } { missing shutdown_performance_schema 11 Memcheck:Leak fun:malloc fun:my_malloc fun:init_dynamic_array2 fun:_Z11mysqld_mainiPPc fun:(below main) } { 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 } # 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:_Z8filesortP3THDP5TABLEP8FilesortbPyS5_ } { Bug#12856915 VALGRIND FAILURE IN FILESORT/CREATE_SORT_INDEX / two Memcheck:Param write(buf) ... fun:my_b_flush_io_cache fun:_Z15merge_many_buffP10Sort_paramPhP10st_buffpekPjP11st_io_cache fun:_Z8filesortP3THDP5TABLEP8FilesortbPyS5_ } { Bug#12856915 VALGRIND FAILURE IN FILESORT/CREATE_SORT_INDEX / three Memcheck:Param write(buf) ... fun:my_b_flush_io_cache fun:_Z8filesortP3THDP5TABLEP8FilesortbPyS5_ } { Bug#12856915 VALGRIND FAILURE IN FILESORT/CREATE_SORT_INDEX / four Memcheck:Param write(buf) ... fun:my_b_flush_io_cache fun:_my_b_write fun:_Z*10write_keysP10Sort_paramP13Filesort_infojP11st_io_cacheS4_ fun:_Z8filesortP3THDP5TABLEP8FilesortbPyS5_ } { 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#14801497 CONDITIONAL JUMP OR MOVE DEPENDS ON UNINITIALISED VALUE(S) IN CREATE_TMP_TABLE Memcheck:Cond fun:_Z16create_tmp_tableP3THDP15TMP_TABLE_PARAMR4ListI4ItemEP8st_orderbbyyPKc fun:_Z19create_schema_tableP3THDP10TABLE_LIST fun:_Z18mysql_schema_tableP3THDP3LEXP10TABLE_LIST ... fun:_Z11open_tablesP3THDPP10TABLE_LISTPjjP19Prelocking_strategy fun:_Z20open_and_lock_tablesP3THDP10TABLE_LISTbjP19Prelocking_strategy fun:_Z20open_and_lock_tablesP3THDP10TABLE_LISTbj fun:_Z21mysql_execute_commandP3THD fun:_Z11mysql_parseP3THDPcjP12Parser_state fun:_Z16dispatch_command19enum_server_commandP3THDPcj fun:_Z24do_handle_one_connectionP3THD fun:handle_one_connection fun:pfs_spawn_thread } { 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:_ZL8clean_upb fun:_Z10unireg_endv fun:_ZL11kill_serverPv fun:kill_server_thread } { Bug#25391948 RPL_CHECK_GTID TEST FAILS SPORADICALLY ON PB2 - WEEKLY-5.6 FOR LINUX-VALGRIND Memcheck:Leak match-leak-kinds: reachable fun:malloc fun:_dl_close_worker fun:_dl_close fun:_dl_catch_error fun:__libc_dlclose ... } { Bug#25391948 RPL_CHECK_GTID TEST FAILS SPORADICALLY ON PB2 - WEEKLY-5.6 FOR LINUX-VALGRIND Memcheck:Leak match-leak-kinds: reachable fun:malloc ... fun:dl_open_worker fun:_dl_catch_error fun:_dl_open fun:do_dlopen fun:_dl_catch_error fun:__libc_dlopen_mode ... } #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 { 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 / three Memcheck:Leak match-leak-kinds: reachable fun:malloc obj:*/libstdc++.so* fun:call_init.part.0 fun:call_init fun:_dl_init } { Memory leak in dlerror Memcheck:Leak match-leak-kinds: reachable fun:malloc fun:vasprintf fun:asprintf fun:dlerror }