Description:
Valgrind on MTR test main.validate_password_component reports memory leaks:
main.validate_password_component [ pass ] 864493
worker[1] Valgrind report from /home/laurynas/obj-mysql-8.0.4-valgrind/mysql-test/var/log/mysqld.1.err after tests:
main.validate_password_component
--------------------------------------------------------------------------
HEAP SUMMARY:
in use at exit: 8,672 bytes in 16 blocks
total heap usage: 488,121 allocs, 488,105 frees, 453,722,148 bytes allocated
20 bytes in 1 blocks are definitely lost in loss record 3 of 9
at 0x3949BB8: my_malloc (my_malloc.cc:92)
by 0x26875834: ???
by 0x26875A56: ???
by 0x26877C1D: ???
by 0x3FE05FB: mysql_dynamic_loader_imp::load_do_initialize_components(std::vector<std::unique_ptr<mysql_component, std::default_delete<mysql_component> >, std::allocator<std::unique_ptr<mysql_component, std::default_delete<mysql_component> > > >&) (dynamic_loader.cc:818)
by 0x3FE03CA: mysql_dynamic_loader_imp::load_do_resolve_dependencies(std::vector<std::unique_ptr<mysql_component, std::default_delete<mysql_component> >, std::allocator<std::unique_ptr<mysql_component, std::default_delete<mysql_component> > > >&) (dynamic_loader.cc:774)
by 0x3FE0082: mysql_dynamic_loader_imp::load_do_register_services(std::vector<std::unique_ptr<mysql_component, std::default_delete<mysql_component> >, std::allocator<std::unique_ptr<mysql_component, std::default_delete<mysql_component> > > >&) (dynamic_loader.cc:721)
by 0x3FDFD80: mysql_dynamic_loader_imp::load_do_check_dependencies(std::vector<std::unique_ptr<mysql_component, std::default_delete<mysql_component> >, std::allocator<std::unique_ptr<mysql_component, std::default_delete<mysql_component> > > >&, std::set<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > const&) (dynamic_loader.cc:674)
by 0x3FDFA5A: mysql_dynamic_loader_imp::load_do_collect_services_provided(std::vector<std::unique_ptr<mysql_component, std::default_delete<mysql_component> >, std::allocator<std::unique_ptr<mysql_component, std::default_delete<mysql_component> > > >&) (dynamic_loader.cc:624)
by 0x3FDF6B2: mysql_dynamic_loader_imp::load_do_load_component_by_scheme(char const**, int) (dynamic_loader.cc:576)
by 0x3FDEB48: mysql_dynamic_loader_imp::load(char const**, int) (dynamic_loader.cc:251)
by 0x2A801CC: mysql_persistent_dynamic_loader_imp::load(void*, char const**, int) (persistent_dynamic_loader.cc:383)
by 0x2E58C17: Sql_cmd_install_component::execute(THD*) (sql_component.cc:69)
by 0x2712696: mysql_execute_command(THD*, bool) (sql_parse.cc:4644)
by 0x2714FD9: mysql_parse(THD*, Parser_state*) (sql_parse.cc:5440)
by 0x270A65D: dispatch_command(THD*, COM_DATA const*, enum_server_command) (sql_parse.cc:1730)
20 bytes in 1 blocks are definitely lost in loss record 4 of 9
at 0x3949BB8: my_malloc (my_malloc.cc:92)
by 0x26875834: ???
by 0x26875A56: ???
by 0x268768AB: ???
by 0x274770E: plugin_var_memalloc_global_update(THD*, st_mysql_sys_var*, char**, char const*) (sql_plugin_var.cc:74)
by 0x2748559: sys_var_pluginvar::global_update(THD*, set_var*) (sql_plugin_var.cc:444)
by 0x26431FC: sys_var::update(THD*, set_var*) (set_var.cc:261)
by 0x26439BE: sys_var::set_default(THD*, set_var*) (set_var.cc:364)
by 0x26458F7: set_var::update(THD*) (set_var.cc:1115)
by 0x2644D00: sql_set_variables(THD*, List<set_var_base>*, bool) (set_var.cc:844)
by 0x270F3F7: mysql_execute_command(THD*, bool) (sql_parse.cc:3558)
by 0x2714FD9: mysql_parse(THD*, Parser_state*) (sql_parse.cc:5440)
by 0x270A65D: dispatch_command(THD*, COM_DATA const*, enum_server_command) (sql_parse.cc:1730)
by 0x2709028: do_command(THD*) (sql_parse.cc:1310)
by 0x2AA25A1: handle_connection (connection_handler_per_thread.cc:335)
by 0x3F00EA5: pfs_spawn_thread (pfs.cc:2994)
60 bytes in 3 blocks are definitely lost in loss record 8 of 9
at 0x3949BB8: my_malloc (my_malloc.cc:92)
by 0x26875834: ???
by 0x26875C90: ???
by 0x268768AB: ???
by 0x274770E: plugin_var_memalloc_global_update(THD*, st_mysql_sys_var*, char**, char const*) (sql_plugin_var.cc:74)
by 0x2748559: sys_var_pluginvar::global_update(THD*, set_var*) (sql_plugin_var.cc:444)
by 0x26431FC: sys_var::update(THD*, set_var*) (set_var.cc:261)
by 0x26458D4: set_var::update(THD*) (set_var.cc:1113)
by 0x2644D00: sql_set_variables(THD*, List<set_var_base>*, bool) (set_var.cc:844)
by 0x270F3F7: mysql_execute_command(THD*, bool) (sql_parse.cc:3558)
by 0x2714FD9: mysql_parse(THD*, Parser_state*) (sql_parse.cc:5440)
by 0x270A65D: dispatch_command(THD*, COM_DATA const*, enum_server_command) (sql_parse.cc:1730)
by 0x2709028: do_command(THD*) (sql_parse.cc:1310)
by 0x2AA25A1: handle_connection (connection_handler_per_thread.cc:335)
by 0x3F00EA5: pfs_spawn_thread (pfs.cc:2994)
by 0x67BA7FB: start_thread (pthread_create.c:465)
LEAK SUMMARY:
definitely lost: 100 bytes in 5 blocks
indirectly lost: 0 bytes in 0 blocks
possibly lost: 0 bytes in 0 blocks
still reachable: 0 bytes in 0 blocks
suppressed: 8,312 bytes in 6 blocks
Not sure what the correct bug category should be, please adjust.
How to repeat:
$ ./mtr --debug-server --valgrind validate_password_component