mirror of
				https://github.com/MariaDB/server.git
				synced 2025-10-31 15:50:51 +03:00 
			
		
		
		
	mysql-test/suite/innodb/t/group_commit_crash.test: remove autoincrement to avoid rbr being used for insert ... select mysql-test/suite/innodb/t/group_commit_crash_no_optimize_thread.test: remove autoincrement to avoid rbr being used for insert ... select mysys/my_addr_resolve.c: a pointer to a buffer is returned to the caller -> the buffer cannot be on the stack mysys/stacktrace.c: my_vsnprintf() is ok here, in 5.5
		
			
				
	
	
		
			1100 lines
		
	
	
		
			19 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			1100 lines
		
	
	
		
			19 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
| # Copyright (c) 2005, 2011, Oracle and/or its affiliates.
 | |
| # Copyright (c) 2008-2011, Monty Program Ab
 | |
| #
 | |
| # This program is free software; you can redistribute it and/or
 | |
| # modify it under the terms of the GNU Library General Public
 | |
| # License as published by the Free Software Foundation; version 2
 | |
| # of the License.
 | |
| #
 | |
| # 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
 | |
| # Library General Public License 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*
 | |
| 
 | |
| }
 | |
| 
 | |
| {
 | |
|    pthread allocate_tls memory loss
 | |
|    Memcheck:Leak
 | |
|    fun:calloc
 | |
|    obj:/lib*/ld*.so
 | |
|    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
 | |
| }
 | |
| 
 | |
| {  
 | |
|    somewhere in ld.so, when loading mysqld
 | |
|    Memcheck:Cond
 | |
|    ...
 | |
|    fun:dl_main
 | |
|    fun:_dl_sysdep_start
 | |
|    fun:_dl_start
 | |
| }
 | |
| 
 | |
| #
 | |
| # 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
 | |
|    fun:do_flush
 | |
| }
 | |
| 
 | |
| {
 | |
|    libz longest_match called from btr_store_big_rec_extern_fields
 | |
|    Memcheck:Cond
 | |
|    fun:longest_match
 | |
|    fun:deflate_slow
 | |
|    fun:deflate
 | |
|    fun:btr_store_big_rec_extern_fields
 | |
| }
 | |
| 
 | |
| {
 | |
|    libz longest_match called from page_zip_compress
 | |
|    Memcheck:Cond
 | |
|    fun:longest_match
 | |
|    fun:deflate_slow
 | |
|    fun:deflate
 | |
|    fun:page_zip_compress
 | |
| }
 | |
| 
 | |
| {
 | |
|    libz longest_match2
 | |
|    Memcheck:Cond
 | |
|    fun:longest_match
 | |
|    fun:deflate_slow
 | |
|    fun:deflate
 | |
|    fun:compress2
 | |
| }
 | |
| 
 | |
| {
 | |
|    libz longest_match 3
 | |
|    Memcheck:Cond
 | |
|    fun:longest_match
 | |
|    fun:deflate_slow
 | |
|    fun:deflate
 | |
|    fun:gzclose
 | |
| }
 | |
| 
 | |
| {
 | |
|    libz longest_match 4 
 | |
|    Memcheck:Cond
 | |
|    fun:longest_match
 | |
|    fun:deflate_slow
 | |
|    fun:deflate
 | |
|    fun:gzflush
 | |
| }
 | |
| 
 | |
| {
 | |
|    libz longest_match3
 | |
|    Memcheck:Cond
 | |
|    fun:longest_match
 | |
|    fun:deflate_slow
 | |
|    fun:deflate
 | |
|    fun:azflush
 | |
| }
 | |
| 
 | |
| {
 | |
|    libz longest_match3
 | |
|    Memcheck:Cond
 | |
|    fun:longest_match
 | |
|    fun:deflate_slow
 | |
|    fun:deflate
 | |
|    fun:azclose
 | |
| }
 | |
| 
 | |
| {
 | |
|    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 inflatereset2
 | |
|    Memcheck:Cond
 | |
|    fun:inflateReset2
 | |
|    fun:inflateInit2_
 | |
|    fun:uncompress
 | |
| }
 | |
| 
 | |
| 
 | |
| #
 | |
| # 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
 | |
| }
 | |
| 
 | |
| #
 | |
| # 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
 | |
| }
 | |
| 
 | |
| 
 | |
| #
 | |
| #  dlclose can allocate memory for error message, the memory will be
 | |
| #  freed by dlerror or other dl* function.
 | |
| #
 | |
| {
 | |
|    memory "loss" from dlclose error messages
 | |
|    Memcheck:Leak
 | |
|    fun:*alloc
 | |
|    ...
 | |
|    fun:dlclose
 | |
| }
 | |
| 
 | |
| 
 | |
| #
 | |
| #  dlsym can allocate memory for error message, the memory will be
 | |
| #  freed by dlerror or other dl* function.
 | |
| #
 | |
| {
 | |
|    memory "loss" from dlclose error messages
 | |
|    Memcheck:Leak
 | |
|    fun:*alloc
 | |
|    ...
 | |
|    fun:dlsym
 | |
| }
 | |
| 
 | |
| 
 | |
| {
 | |
|    dlopen / ptread_cancel_init memory loss on Suse Linux 10.3 32/64 bit ver 1
 | |
|    Memcheck:Leak
 | |
|    fun:*alloc
 | |
|    obj:/lib*/ld-*.so
 | |
|    obj:/lib*/ld-*.so
 | |
|    obj:/lib*/ld-*.so
 | |
|    obj:/lib*/ld-*.so
 | |
|    obj:/lib*/ld-*.so
 | |
|    obj:/lib*/ld-*.so
 | |
|    obj:/lib*/libc-*.so
 | |
|    obj:/lib*/ld-*.so
 | |
|    obj:/lib*/libc-*.so
 | |
|    fun:__libc_dlopen_mode
 | |
|    fun:pthread_cancel_init
 | |
|    fun:_Unwind_ForcedUnwind
 | |
| }
 | |
| 
 | |
| {
 | |
|    dlopen / ptread_cancel_init memory loss on Suse Linux 10.3 32/64 bit ver 2
 | |
|    Memcheck:Leak
 | |
|    fun:*alloc
 | |
|    obj:/lib*/ld-*.so
 | |
|    obj:/lib*/ld-*.so
 | |
|    obj:/lib*/ld-*.so
 | |
|    obj:/lib*/ld-*.so
 | |
|    obj:/lib*/ld-*.so
 | |
|    obj:/lib*/libc-*.so
 | |
|    obj:/lib*/ld-*.so
 | |
|    obj:/lib*/libc-*.so
 | |
|    fun:__libc_dlopen_mode
 | |
|    fun:pthread_cancel_init
 | |
|    fun:_Unwind_ForcedUnwind
 | |
| }
 | |
| 
 | |
| {
 | |
|    dlopen / ptread_cancel_init memory loss on Suse Linux 10.3 32/64 bit
 | |
|    Memcheck:Leak
 | |
|    fun:*alloc
 | |
|    obj:/lib*/ld-*.so
 | |
|    obj:/lib*/ld-*.so
 | |
|    obj:/lib*/ld-*.so
 | |
|    obj:/lib*/ld-*.so
 | |
|    obj:/lib*/libc-*.so
 | |
|    obj:/lib*/ld-*.so
 | |
|    obj:/lib*/libc-*.so
 | |
|    fun:__libc_dlopen_mode
 | |
|    fun:pthread_cancel_init
 | |
|    fun:_Unwind_ForcedUnwind
 | |
| }
 | |
| 
 | |
| 
 | |
| #
 | |
| # Reading wrong addresses on SuSe Linux 10.3 32 bit
 | |
| #
 | |
| 
 | |
| {
 | |
|    Reading wrong data in libc_dlopen
 | |
|    Memcheck:Addr4
 | |
|    obj:/lib*/ld-*.so
 | |
|    obj:/lib*/ld-*.so
 | |
|    obj:/lib*/ld-*.so
 | |
|    obj:/lib*/ld-*.so
 | |
|    obj:/lib*/ld-*.so
 | |
|    obj:/lib*/ld-*.so
 | |
|    obj:/lib*/libc-*.so
 | |
|    obj:/lib*/ld-*.so
 | |
|    obj:/lib*/libc-*.so
 | |
|    fun:__libc_dlopen_mode
 | |
|    fun:pthread_cancel_init
 | |
| }
 | |
| 
 | |
| #
 | |
| # 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*
 | |
| }
 | |
| 
 | |
| #
 | |
| # In glibc (checked version 2.7), inet_ntoa allocates an 18-byte
 | |
| # per-thread static buffer for the return value. That memory is freed
 | |
| # at thread exit, however if called from the main thread, Valgrind
 | |
| # does not see the free (test main.no-threads).
 | |
| #
 | |
| # Since inet_ntoa() does not allocate memory dynamically per-call, this
 | |
| # suppression is safe.
 | |
| #
 | |
| 
 | |
| {
 | |
|    inet_ntoa thread local storage
 | |
|    Memcheck:Leak
 | |
|    fun:malloc
 | |
|    fun:inet_ntoa
 | |
| }
 | |
| 
 | |
| 
 | |
| #
 | |
| # Some problem inside glibc on Ubuntu 9.04, x86 (but not amd64):
 | |
| # 
 | |
| # ==5985== 19 bytes in 1 blocks are still reachable in loss record 1 of 6
 | |
| # ==5985==    at 0x7AF3FDE: malloc (vg_replace_malloc.c:207) 
 | |
| #               ... 11,12, or 13 functions w/o symbols ...
 | |
| # ==5985==    by 0x8717185: nptl_pthread_exit_hack_handler (my_thr_init.c:55)
 | |
| #
 | |
| # Since valgrind 3.3.0 doesn't support '...' multi-function pattern, using
 | |
| # multiple suppressions:
 | |
| #
 | |
| {
 | |
|    Mem loss inside nptl_pthread_exit_hack_handler
 | |
|    Memcheck:Leak
 | |
|    fun:*
 | |
|    fun:*
 | |
|    fun:*
 | |
|    fun:*
 | |
|    fun:*
 | |
|    fun:*
 | |
|    fun:*
 | |
|    fun:*
 | |
|    fun:*
 | |
|    fun:*
 | |
|    fun:*
 | |
|    fun:*
 | |
|    fun:nptl_pthread_exit_hack_handler 
 | |
| }
 | |
| 
 | |
| {
 | |
|    Mem loss inside nptl_pthread_exit_hack_handler
 | |
|    Memcheck:Leak
 | |
|    fun:*
 | |
|    fun:*
 | |
|    fun:*
 | |
|    fun:*
 | |
|    fun:*
 | |
|    fun:*
 | |
|    fun:*
 | |
|    fun:*
 | |
|    fun:*
 | |
|    fun:*
 | |
|    fun:*
 | |
|    fun:*
 | |
|    fun:*
 | |
|    fun:nptl_pthread_exit_hack_handler 
 | |
| }
 | |
| 
 | |
| {
 | |
|    Mem loss inside nptl_pthread_exit_hack_handler
 | |
|    Memcheck:Leak
 | |
|    fun:*
 | |
|    fun:*
 | |
|    fun:*
 | |
|    fun:*
 | |
|    fun:*
 | |
|    fun:*
 | |
|    fun:*
 | |
|    fun:*
 | |
|    fun:*
 | |
|    fun:*
 | |
|    fun:*
 | |
|    fun:*
 | |
|    fun:*
 | |
|    fun:*
 | |
|    fun:nptl_pthread_exit_hack_handler 
 | |
| }
 | |
| 
 | |
| #
 | |
| # BUG#45630
 | |
| # Suppress valgrind failures within nptl_pthread_exit_hack_handler on Ubuntu 9.04, x86 (but not amd64)
 | |
| #
 | |
| 
 | |
| {
 | |
|    Mem loss within nptl_pthread_exit_hack_handler 1
 | |
|    Memcheck:Leak
 | |
|    fun:malloc
 | |
|    obj:*/ld-*.so
 | |
|    obj:*/ld-*.so
 | |
|    obj:*/ld-*.so
 | |
|    obj:*/ld-*.so
 | |
|    obj:*/ld-*.so
 | |
|    obj:*/libc-*.so
 | |
|    obj:*/ld-*.so
 | |
|    fun:__libc_dlopen_mode
 | |
|    fun:pthread_cancel_init
 | |
|    fun:_Unwind_ForcedUnwind
 | |
|    fun:__pthread_unwind
 | |
|    fun:pthread_exit
 | |
|    fun:nptl_pthread_exit_hack_handler
 | |
|    fun:start_thread
 | |
|    fun:clone
 | |
| }
 | |
| 
 | |
| {
 | |
|    Mem loss within nptl_pthread_exit_hack_handler 2
 | |
|    Memcheck:Leak
 | |
|    fun:malloc
 | |
|    obj:*/ld-*.so
 | |
|    obj:*/ld-*.so
 | |
|    obj:*/ld-*.so
 | |
|    obj:*/ld-*.so
 | |
|    obj:*/libc-*.so
 | |
|    obj:*/ld-*.so
 | |
|    fun:__libc_dlopen_mode
 | |
|    fun:pthread_cancel_init
 | |
|    fun:_Unwind_ForcedUnwind
 | |
|    fun:__pthread_unwind
 | |
|    fun:pthread_exit
 | |
|    fun:nptl_pthread_exit_hack_handler
 | |
|    fun:start_thread
 | |
|    fun:clone
 | |
| }
 | |
| 
 | |
| {
 | |
|    Mem loss within nptl_pthread_exit_hack_handler 3
 | |
|    Memcheck:Leak
 | |
|    fun:calloc
 | |
|    obj:*/ld-*.so
 | |
|    obj:*/ld-*.so
 | |
|    obj:*/ld-*.so
 | |
|    obj:*/ld-*.so
 | |
|    obj:*/libc-*.so
 | |
|    obj:*/ld-*.so
 | |
|    fun:__libc_dlopen_mode
 | |
|    fun:pthread_cancel_init
 | |
|    fun:_Unwind_ForcedUnwind
 | |
|    fun:__pthread_unwind
 | |
|    fun:pthread_exit
 | |
|    fun:nptl_pthread_exit_hack_handler
 | |
|    fun:start_thread
 | |
|    fun:clone
 | |
| }
 | |
| 
 | |
| {
 | |
|    Mem loss within nptl_pthread_exit_hack_handler 4
 | |
|    Memcheck:Leak
 | |
|    fun:malloc
 | |
|    obj:*/ld-*.so
 | |
|    obj:*/ld-*.so
 | |
|    obj:*/ld-*.so
 | |
|    obj:*/ld-*.so
 | |
|    obj:*/ld-*.so
 | |
|    obj:*/ld-*.so
 | |
|    obj:*/libc-*.so
 | |
|    obj:*/ld-*.so
 | |
|    fun:__libc_dlopen_mode
 | |
|    fun:pthread_cancel_init
 | |
|    fun:_Unwind_ForcedUnwind
 | |
|    fun:__pthread_unwind
 | |
|    fun:pthread_exit
 | |
|    fun:nptl_pthread_exit_hack_handler
 | |
|    fun:start_thread
 | |
| }
 | |
| 
 | |
| {
 | |
|    Mem loss within nptl_pthread_exit_hack_handler 5
 | |
|    Memcheck:Leak
 | |
|    fun:calloc
 | |
|    obj:*/ld-*.so
 | |
|    obj:*/ld-*.so
 | |
|    obj:*/ld-*.so
 | |
|    obj:*/ld-*.so
 | |
|    obj:*/ld-*.so
 | |
|    obj:*/ld-*.so
 | |
|    obj:*/libc-*.so
 | |
|    obj:*/ld-*.so
 | |
|    fun:__libc_dlopen_mode
 | |
|    fun:pthread_cancel_init
 | |
|    fun:_Unwind_ForcedUnwind
 | |
|    fun:__pthread_unwind
 | |
|    fun:pthread_exit
 | |
|    fun:nptl_pthread_exit_hack_handler
 | |
|    fun:start_thread
 | |
| }
 | |
| 
 | |
| #
 | |
| # Problem with glibc and gethostbyaddr_r
 | |
| #
 | |
| 
 | |
| {
 | |
|    libc_res_nsend: Conditional jump or move depends on uninitialised value
 | |
|    Memcheck:Cond
 | |
|    fun: __libc_res_nsend
 | |
|    fun: __libc_res_nquery
 | |
|    obj: /lib64/libnss_dns-*so)
 | |
|    obj: /lib64/libnss_dns-*so)
 | |
|    fun: gethostbyaddr_r
 | |
| }
 | |
| 
 | |
| # suppressions for glibc 2.6.1 64 bit
 | |
| 
 | |
| {
 | |
|    Mem loss within nptl_pthread_exit_hack_handler 6
 | |
|    Memcheck:Leak
 | |
|    fun:malloc
 | |
|    obj:*/ld-*.so
 | |
|    obj:*/ld-*.so
 | |
|    obj:*/ld-*.so
 | |
|    obj:*/ld-*.so
 | |
|    obj:*/ld-*.so
 | |
|    obj:*/ld-*.so
 | |
|    obj:*/libc-*.so
 | |
|    obj:*/ld-*.so
 | |
|    obj:*/libc-*.so
 | |
|    fun:__libc_dlopen_mode
 | |
|    fun:pthread_cancel_init
 | |
|    fun:_Unwind_ForcedUnwind
 | |
|    fun:__pthread_unwind
 | |
|    fun:pthread_exit
 | |
|    fun:nptl_pthread_exit_hack_handler
 | |
| }
 | |
| 
 | |
| {
 | |
|    Mem loss within nptl_pthread_exit_hack_handler 7
 | |
|    Memcheck:Leak
 | |
|    fun:malloc
 | |
|    obj:*/ld-*.so
 | |
|    obj:*/ld-*.so
 | |
|    obj:*/ld-*.so
 | |
|    obj:*/ld-*.so
 | |
|    obj:*/libc-*.so
 | |
|    obj:*/ld-*.so
 | |
|    obj:*/libc-*.so
 | |
|    fun:__libc_dlopen_mode
 | |
|    fun:pthread_cancel_init
 | |
|    fun:_Unwind_ForcedUnwind
 | |
|    fun:__pthread_unwind
 | |
|    fun:pthread_exit
 | |
|    fun:nptl_pthread_exit_hack_handler
 | |
|    fun:start_thread
 | |
|    fun:clone
 | |
| }
 | |
| 
 | |
| {
 | |
|    Mem loss within nptl_pthread_exit_hack_handler 8
 | |
|    Memcheck:Leak
 | |
|    fun:calloc
 | |
|    obj:*/ld-*.so
 | |
|    obj:*/ld-*.so
 | |
|    obj:*/ld-*.so
 | |
|    obj:*/ld-*.so
 | |
|    obj:*/libc-*.so
 | |
|    obj:*/ld-*.so
 | |
|    obj:*/libc-*.so
 | |
|    fun:__libc_dlopen_mode
 | |
|    fun:pthread_cancel_init
 | |
|    fun:_Unwind_ForcedUnwind
 | |
|    fun:__pthread_unwind
 | |
|    fun:pthread_exit
 | |
|    fun:nptl_pthread_exit_hack_handler
 | |
|    fun:start_thread
 | |
|    fun:clone
 | |
| }
 | |
| 
 | |
| {
 | |
|    Mem loss within nptl_pthread_exit_hack_handler 8
 | |
|    Memcheck:Leak
 | |
|    fun:calloc
 | |
|    obj:*/ld-*.so
 | |
|    obj:*/ld-*.so
 | |
|    obj:*/ld-*.so
 | |
|    obj:*/ld-*.so
 | |
|    obj:*/ld-*.so
 | |
|    obj:*/ld-*.so
 | |
|    obj:*/libc-*.so
 | |
|    obj:*/ld-*.so
 | |
|    obj:*/libc-*.so
 | |
|    fun:__libc_dlopen_mode
 | |
|    fun:pthread_cancel_init
 | |
|    fun:_Unwind_ForcedUnwind
 | |
|    fun:__pthread_unwind
 | |
|    fun:pthread_exit
 | |
|    fun:nptl_pthread_exit_hack_handler
 | |
| }
 | |
| 
 | |
| {
 | |
|    Invalid read within nptl_pthread_exit_hack_handler
 | |
|    Memcheck:Addr8
 | |
|    obj:*/ld-*.so
 | |
|    obj:*/ld-*.so
 | |
|    obj:*/ld-*.so
 | |
|    obj:*/ld-*.so
 | |
|    obj:*/ld-*.so
 | |
|    obj:*/ld-*.so
 | |
|    obj:*/ld-*.so
 | |
|    obj:*/libc-*.so
 | |
|    obj:*/ld-*.so
 | |
|    obj:*/libc-*.so
 | |
|    fun:__libc_dlopen_mode
 | |
|    fun:pthread_cancel_init
 | |
|    fun:_Unwind_ForcedUnwind
 | |
|    fun:__pthread_unwind
 | |
|    fun:pthread_exit
 | |
|    fun:nptl_pthread_exit_hack_handler
 | |
| }
 | |
| 
 | |
| #
 | |
| # 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*
 | |
| }
 | |
| 
 | |
| {
 | |
|    memory "leak" in backtrace() of glibc 2.9 (not present in 2.13)
 | |
|    Memcheck:Leak
 | |
|    fun:malloc
 | |
|    ...
 | |
|    fun:pthread_once
 | |
|    fun:backtrace
 | |
| }
 | |
| 
 | |
| #
 | |
| # Bug in Glibc 2.9: http://sourceware.org/bugzilla/show_bug.cgi?id=10391
 | |
| # Fixed in latest Glibc, but suppressed here for running tests on hosts
 | |
| # with older Glibc version.
 | |
| #
 | |
| {
 | |
|    Glibc bug in __libc_res_nsend
 | |
|    Memcheck:Cond
 | |
|    fun:__libc_res_nsend
 | |
|    fun:__libc_res_nquery
 | |
| }
 | |
| 
 | |
| {
 | |
|    buf_buddy_relocate peeking (space,page) in potentially free blocks
 | |
|    Memcheck:Addr1
 | |
|    fun:buf_buddy_relocate
 | |
| }
 | |
| 
 | |
| {
 | |
|    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
 | |
| }
 | |
| 
 | |
| {
 | |
|    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)
 | |
|    obj:*/libpthread*.so
 | |
|    fun:my_write
 | |
|    ...
 | |
|    fun:my_b_flush_io_cache
 | |
|    fun:_my_b_write
 | |
|    fun:_Z*10write_keysP13st_sort_paramPPhjP11st_io_cacheS4_
 | |
|    fun:_Z*13find_all_keysP13st_sort_paramP10SQL_SELECTPPhP11st_io_cacheS6_
 | |
|    fun:_Z8filesortP3THDP5TABLEP13st_sort_fieldjP10SQL_SELECTybPy
 | |
| }
 | |
| 
 | |
| {
 | |
|    Bug#12856915 VALGRIND FAILURE IN FILESORT/CREATE_SORT_INDEX / two
 | |
|    Memcheck:Param
 | |
|    write(buf)
 | |
|    obj:*/libpthread*.so
 | |
|    fun:my_write
 | |
|    ...
 | |
|    fun:my_b_flush_io_cache
 | |
|    fun:_Z15merge_many_buffP13st_sort_paramPhP10st_buffpekPjP11st_io_cache
 | |
|    fun:_Z8filesortP3THDP5TABLEP13st_sort_fieldjP10SQL_SELECTybPy
 | |
| }
 | |
| 
 | |
| {
 | |
|    Bug#12856915 VALGRIND FAILURE IN FILESORT/CREATE_SORT_INDEX / three
 | |
|    Memcheck:Param
 | |
|    write(buf)
 | |
|    obj:*/libpthread*.so
 | |
|    fun:my_write
 | |
|    ...
 | |
|    fun:my_b_flush_io_cache
 | |
|    fun:_Z8filesortP3THDP5TABLEP13st_sort_fieldjP10SQL_SELECTybPy
 | |
| }
 | |
| 
 | |
| {
 | |
|   Problem with udf and libresolve
 | |
|   Memcheck:Cond
 | |
|    obj:*/libresolv*.so
 | |
|    fun:__libc_res_nquery
 | |
|    fun:_nss_dns_gethostbyaddr2_r
 | |
|    fun:_nss_dns_gethostbyaddr_r
 | |
|    fun:gethostbyaddr_r
 | |
| }
 |