Bug #58707 Valgrind warning in PFS
Submitted: 3 Dec 2010 16:43 Modified: 5 Jan 2011 14:02
Reporter: Alexander Nozdrin Email Updates:
Status: Closed Impact on me:
None 
Category:MySQL Server: Performance Schema Severity:S1 (Critical)
Version:5.5 OS:Any
Assigned to: Marc ALFF CPU Architecture:Any

[3 Dec 2010 16:43] Alexander Nozdrin
Description:
There are lots of valgrind warnings like this:
---------------------------------------------------------
==23085== 32 bytes in 1 blocks are possibly lost in loss record 8 of 104
==23085==    at 0x4C20E1C: malloc (vg_replace_malloc.c:195)
==23085==    by 0xA7B9A0: my_malloc (my_malloc.c:38)
==23085==    by 0xA8D152: initialize_bucket (lf_hash.c:477)
==23085==    by 0xA8D1C7: initialize_bucket (lf_hash.c:482)
==23085==    by 0xA8D09F: lf_hash_search (lf_hash.c:458)
==23085==    by 0x8A4DA0: find_or_create_file(PFS_thread*, PFS_file_class*, char const*, unsigned int) (pfs_instr.cc:922)
==23085==    by 0x8B371D: get_thread_file_name_locker_v1 (pfs.cc:1313)
==23085==    by 0x99DD79: pfs_os_file_create_func (os0file.ic:161)
==23085==    by 0x8F3721: open_or_create_log_file (srv0start.c:589)
==23085==    by 0x8F50C0: innobase_start_or_create_for_mysql (srv0start.c:1446)
==23085==    by 0x8B9C9C: innobase_init(void*) (ha_innodb.cc:2474)
==23085==    by 0x73DAFF: ha_initialize_handlerton(st_plugin_int*) (handler.cc:462)
==23085==    by 0x5E962B: plugin_initialize(st_plugin_int*) (sql_plugin.cc:1041)
==23085==    by 0x5EAD68: plugin_init(int*, char**, int) (sql_plugin.cc:1327)
==23085==    by 0x53EB34: init_server_components() (mysqld.cc:3873)
==23085==    by 0x53F83A: mysqld_main(int, char**) (mysqld.cc:4439)
---------------------------------------------------------

How to repeat:
Check out valgrind log.
Example: http://pb2.norway.sun.com/web.py?action=archive_download&archive_id=2625738&pretty=please
[7 Dec 2010 11:27] Marc ALFF
See related Bug#58749
[8 Dec 2010 5:50] Marc ALFF
Caused by bug#56666

Resolved by adding this suppression while waiting for the bug fix:

#
# Note that initialize_bucket() is recursive,
# can't provide more stack context.
#
{
   missing shutdown_performance_schema 3
   Memcheck:Leak
   fun:malloc
   fun:my_malloc
   fun:initialize_bucket
}
[8 Dec 2010 5:51] Marc ALFF
Fixed in mysql-5.5-bugteam
[4 Jan 2011 6:46] Marc ALFF
Merged in mysql-5.5.8

Doc team:
Work around only in valgrind.supp, nothing to document.
[5 Jan 2011 14:02] Paul DuBois
No changelog entry needed.