Uploaded image for project: 'MariaDB Server'
  1. MariaDB Server
  2. MDEV-253 Multi-source replication
  3. MDEV-556

Multi-source: "Freeing overrun buffer" error and valgrind warnings on change master with a named connection

    XMLWordPrintable

Details

    • Technical task
    • Status: Closed (View Workflow)
    • Major
    • Resolution: Fixed
    • None
    • None
    • None
    • None
    • Ubuntu 11.10 x86_64, openSUSE 11.3 x86_64

    Description

      The minimal test case requires only one command, CHANGE MASTER for a named connection (no errors on an anonymous connection)

      cat suite/multi_source/memory_issue.test

      eval change master 'slave1'
      to master_port=$SERVER_MYPORT_2,
      master_host='127.0.0.1',
      master_user='root';

      If it's run in MTR just as ./mtr multi_source.memory_issue, it produces an error
      Error: Freeing overrun buffer

      If it's run with valgrind, as ./mtr --valgrind-mysqld multi_source.memory_issue, it produces valgrind warnings:

      line
      ==9413== Thread 5:
      ==9413== Invalid write of size 1
      ==9413==    at 0x4C2781D: memcpy (in /usr/lib64/valgrind/vgpreload_memcheck-amd64-linux.so)
      ==9413==    by 0x7220FD: Master_info::Master_info(st_mysql_lex_string*, bool) (rpl_mi.cc:56)
      ==9413==    by 0x62FD05: mysql_execute_command(THD*) (sql_parse.cc:2361)
      ==9413==    by 0x6393F2: mysql_parse(THD*, char*, unsigned int, Parser_state*) (sql_parse.cc:5813)
      ==9413==    by 0x62CC5A: dispatch_command(enum_server_command, THD*, char*, unsigned int) (sql_parse.cc:1069)
      ==9413==    by 0x62BF30: do_command(THD*) (sql_parse.cc:808)
      ==9413==    by 0x72BC14: do_handle_one_connection(THD*) (sql_connect.cc:1253)
      ==9413==    by 0x72B6BC: handle_one_connection (sql_connect.cc:1168)
      ==9413==    by 0xAD763B: pfs_spawn_thread (pfs.cc:1015)
      ==9413==    by 0x4E32A4E: start_thread (in /lib64/libpthread-2.11.2.so)
      ==9413==    by 0x60EE82C: clone (in /lib64/libc-2.11.2.so)
      ==9413==  Address 0x1164eba3 is 1 bytes after a block of size 114 alloc'd
      ==9413==    at 0x4C26C3A: malloc (in /usr/lib64/valgrind/vgpreload_memcheck-amd64-linux.so)
      ==9413==    by 0xC797E2: sf_malloc (safemalloc.c:105)
      ==9413==    by 0xC64263: my_malloc (my_malloc.c:41)
      ==9413==    by 0x72205A: Master_info::Master_info(st_mysql_lex_string*, bool) (rpl_mi.cc:49)
      ==9413==    by 0x62FD05: mysql_execute_command(THD*) (sql_parse.cc:2361)
      ==9413==    by 0x6393F2: mysql_parse(THD*, char*, unsigned int, Parser_state*) (sql_parse.cc:5813)
      ==9413==    by 0x62CC5A: dispatch_command(enum_server_command, THD*, char*, unsigned int) (sql_parse.cc:1069)
      ==9413==    by 0x62BF30: do_command(THD*) (sql_parse.cc:808)
      ==9413==    by 0x72BC14: do_handle_one_connection(THD*) (sql_connect.cc:1253)
      ==9413==    by 0x72B6BC: handle_one_connection (sql_connect.cc:1168)
      ==9413==    by 0xAD763B: pfs_spawn_thread (pfs.cc:1015)
      ==9413==    by 0x4E32A4E: start_thread (in /lib64/libpthread-2.11.2.so)
      ==9413==    by 0x60EE82C: clone (in /lib64/libc-2.11.2.so)
      ==9413== Invalid write of size 1
      ==9413==    at 0x4C27827: memcpy (in /usr/lib64/valgrind/vgpreload_memcheck-amd64-linux.so)
      ==9413==    by 0x7220FD: Master_info::Master_info(st_mysql_lex_string*, bool) (rpl_mi.cc:56)
      ==9413==    by 0x62FD05: mysql_execute_command(THD*) (sql_parse.cc:2361)
      ==9413==    by 0x6393F2: mysql_parse(THD*, char*, unsigned int, Parser_state*) (sql_parse.cc:5813)
      ==9413==    by 0x62CC5A: dispatch_command(enum_server_command, THD*, char*, unsigned int) (sql_parse.cc:1069)
      ==9413==    by 0x62BF30: do_command(THD*) (sql_parse.cc:808)
      ==9413==    by 0x72BC14: do_handle_one_connection(THD*) (sql_connect.cc:1253)
      ==9413==    by 0x72B6BC: handle_one_connection (sql_connect.cc:1168)
      ==9413==    by 0xAD763B: pfs_spawn_thread (pfs.cc:1015)
      ==9413==    by 0x4E32A4E: start_thread (in /lib64/libpthread-2.11.2.so)
      ==9413==    by 0x60EE82C: clone (in /lib64/libc-2.11.2.so)
      ==9413==  Address 0x1164eba2 is 0 bytes after a block of size 114 alloc'd
      ==9413==    at 0x4C26C3A: malloc (in /usr/lib64/valgrind/vgpreload_memcheck-amd64-linux.so)
      ==9413==    by 0xC797E2: sf_malloc (safemalloc.c:105)
      ==9413==    by 0xC64263: my_malloc (my_malloc.c:41)
      ==9413==    by 0x72205A: Master_info::Master_info(st_mysql_lex_string*, bool) (rpl_mi.cc:49)
      ==9413==    by 0x62FD05: mysql_execute_command(THD*) (sql_parse.cc:2361)
      ==9413==    by 0x6393F2: mysql_parse(THD*, char*, unsigned int, Parser_state*) (sql_parse.cc:5813)
      ==9413==    by 0x62CC5A: dispatch_command(enum_server_command, THD*, char*, unsigned int) (sql_parse.cc:1069)
      ==9413==    by 0x62BF30: do_command(THD*) (sql_parse.cc:808)
      ==9413==    by 0x72BC14: do_handle_one_connection(THD*) (sql_connect.cc:1253)
      ==9413==    by 0x72B6BC: handle_one_connection (sql_connect.cc:1168)
      ==9413==    by 0xAD763B: pfs_spawn_thread (pfs.cc:1015)
      ==9413==    by 0x4E32A4E: start_thread (in /lib64/libpthread-2.11.2.so)
      ==9413==    by 0x60EE82C: clone (in /lib64/libc-2.11.2.so)
      ==9413== Invalid read of size 1
      ==9413==    at 0xC9D558: my_casedn_str_utf8 (ctype-utf8.c:2583)
      ==9413==    by 0x72212F: Master_info::Master_info(st_mysql_lex_string*, bool) (rpl_mi.cc:57)
      ==9413==    by 0x62FD05: mysql_execute_command(THD*) (sql_parse.cc:2361)
      ==9413==    by 0x6393F2: mysql_parse(THD*, char*, unsigned int, Parser_state*) (sql_parse.cc:5813)
      ==9413==    by 0x62CC5A: dispatch_command(enum_server_command, THD*, char*, unsigned int) (sql_parse.cc:1069)
      ==9413==    by 0x62BF30: do_command(THD*) (sql_parse.cc:808)
      ==9413==    by 0x72BC14: do_handle_one_connection(THD*) (sql_connect.cc:1253)
      ==9413==    by 0x72B6BC: handle_one_connection (sql_connect.cc:1168)
      ==9413==    by 0xAD763B: pfs_spawn_thread (pfs.cc:1015)
      ==9413==    by 0x4E32A4E: start_thread (in /lib64/libpthread-2.11.2.so)
      ==9413==    by 0x60EE82C: clone (in /lib64/libc-2.11.2.so)
      ==9413==  Address 0x1164eba2 is 0 bytes after a block of size 114 alloc'd
      ==9413==    at 0x4C26C3A: malloc (in /usr/lib64/valgrind/vgpreload_memcheck-amd64-linux.so)
      ==9413==    by 0xC797E2: sf_malloc (safemalloc.c:105)
      ==9413==    by 0xC64263: my_malloc (my_malloc.c:41)
      ==9413==    by 0x72205A: Master_info::Master_info(st_mysql_lex_string*, bool) (rpl_mi.cc:49)
      ==9413==    by 0x62FD05: mysql_execute_command(THD*) (sql_parse.cc:2361)
      ==9413==    by 0x6393F2: mysql_parse(THD*, char*, unsigned int, Parser_state*) (sql_parse.cc:5813)
      ==9413==    by 0x62CC5A: dispatch_command(enum_server_command, THD*, char*, unsigned int) (sql_parse.cc:1069)
      ==9413==    by 0x62BF30: do_command(THD*) (sql_parse.cc:808)
      ==9413==    by 0x72BC14: do_handle_one_connection(THD*) (sql_connect.cc:1253)
      ==9413==    by 0x72B6BC: handle_one_connection (sql_connect.cc:1168)
      ==9413==    by 0xAD763B: pfs_spawn_thread (pfs.cc:1015)
      ==9413==    by 0x4E32A4E: start_thread (in /lib64/libpthread-2.11.2.so)
      ==9413==    by 0x60EE82C: clone (in /lib64/libc-2.11.2.so)
      ==9413== Invalid read of size 1
      ==9413==    at 0xC9CBF8: my_utf8_uni_no_range (ctype-utf8.c:2368)
      ==9413==    by 0xC9D575: my_casedn_str_utf8 (ctype-utf8.c:2583)
      ==9413==    by 0x72212F: Master_info::Master_info(st_mysql_lex_string*, bool) (rpl_mi.cc:57)
      ==9413==    by 0x62FD05: mysql_execute_command(THD*) (sql_parse.cc:2361)
      ==9413==    by 0x6393F2: mysql_parse(THD*, char*, unsigned int, Parser_state*) (sql_parse.cc:5813)
      ==9413==    by 0x62CC5A: dispatch_command(enum_server_command, THD*, char*, unsigned int) (sql_parse.cc:1069)
      ==9413==    by 0x62BF30: do_command(THD*) (sql_parse.cc:808)
      ==9413==    by 0x72BC14: do_handle_one_connection(THD*) (sql_connect.cc:1253)
      ==9413==    by 0x72B6BC: handle_one_connection (sql_connect.cc:1168)
      ==9413==    by 0xAD763B: pfs_spawn_thread (pfs.cc:1015)
      ==9413==    by 0x4E32A4E: start_thread (in /lib64/libpthread-2.11.2.so)
      ==9413==    by 0x60EE82C: clone (in /lib64/libc-2.11.2.so)
      ==9413==  Address 0x1164eba2 is 0 bytes after a block of size 114 alloc'd
      ==9413==    at 0x4C26C3A: malloc (in /usr/lib64/valgrind/vgpreload_memcheck-amd64-linux.so)
      ==9413==    by 0xC797E2: sf_malloc (safemalloc.c:105)
      ==9413==    by 0xC64263: my_malloc (my_malloc.c:41)
      ==9413==    by 0x72205A: Master_info::Master_info(st_mysql_lex_string*, bool) (rpl_mi.cc:49)
      ==9413==    by 0x62FD05: mysql_execute_command(THD*) (sql_parse.cc:2361)
      ==9413==    by 0x6393F2: mysql_parse(THD*, char*, unsigned int, Parser_state*) (sql_parse.cc:5813)
      ==9413==    by 0x62CC5A: dispatch_command(enum_server_command, THD*, char*, unsigned int) (sql_parse.cc:1069)
      ==9413==    by 0x62BF30: do_command(THD*) (sql_parse.cc:808)
      ==9413==    by 0x72BC14: do_handle_one_connection(THD*) (sql_connect.cc:1253)
      ==9413==    by 0x72B6BC: handle_one_connection (sql_connect.cc:1168)
      ==9413==    by 0xAD763B: pfs_spawn_thread (pfs.cc:1015)
      ==9413==    by 0x4E32A4E: start_thread (in /lib64/libpthread-2.11.2.so)
      ==9413==    by 0x60EE82C: clone (in /lib64/libc-2.11.2.so)
      ==9413== Invalid write of size 1
      ==9413==    at 0xC9CE9A: my_uni_utf8_no_range (ctype-utf8.c:2472)
      ==9413==    by 0xC9D535: my_casedn_str_utf8 (ctype-utf8.c:2588)
      ==9413==    by 0x72212F: Master_info::Master_info(st_mysql_lex_string*, bool) (rpl_mi.cc:57)
      ==9413==    by 0x62FD05: mysql_execute_command(THD*) (sql_parse.cc:2361)
      ==9413==    by 0x6393F2: mysql_parse(THD*, char*, unsigned int, Parser_state*) (sql_parse.cc:5813)
      ==9413==    by 0x62CC5A: dispatch_command(enum_server_command, THD*, char*, unsigned int) (sql_parse.cc:1069)
      ==9413==    by 0x62BF30: do_command(THD*) (sql_parse.cc:808)
      ==9413==    by 0x72BC14: do_handle_one_connection(THD*) (sql_connect.cc:1253)
      ==9413==    by 0x72B6BC: handle_one_connection (sql_connect.cc:1168)
      ==9413==    by 0xAD763B: pfs_spawn_thread (pfs.cc:1015)
      ==9413==    by 0x4E32A4E: start_thread (in /lib64/libpthread-2.11.2.so)
      ==9413==    by 0x60EE82C: clone (in /lib64/libc-2.11.2.so)
      ==9413==  Address 0x1164eba2 is 0 bytes after a block of size 114 alloc'd
      ==9413==    at 0x4C26C3A: malloc (in /usr/lib64/valgrind/vgpreload_memcheck-amd64-linux.so)
      ==9413==    by 0xC797E2: sf_malloc (safemalloc.c:105)
      ==9413==    by 0xC64263: my_malloc (my_malloc.c:41)
      ==9413==    by 0x72205A: Master_info::Master_info(st_mysql_lex_string*, bool) (rpl_mi.cc:49)
      ==9413==    by 0x62FD05: mysql_execute_command(THD*) (sql_parse.cc:2361)
      ==9413==    by 0x6393F2: mysql_parse(THD*, char*, unsigned int, Parser_state*) (sql_parse.cc:5813)
      ==9413==    by 0x62CC5A: dispatch_command(enum_server_command, THD*, char*, unsigned int) (sql_parse.cc:1069)
      ==9413==    by 0x62BF30: do_command(THD*) (sql_parse.cc:808)
      ==9413==    by 0x72BC14: do_handle_one_connection(THD*) (sql_connect.cc:1253)
      ==9413==    by 0x72B6BC: handle_one_connection (sql_connect.cc:1168)
      ==9413==    by 0xAD763B: pfs_spawn_thread (pfs.cc:1015)
      ==9413==    by 0x4E32A4E: start_thread (in /lib64/libpthread-2.11.2.so)
      ==9413==    by 0x60EE82C: clone (in /lib64/libc-2.11.2.so)
      ==9413== Invalid write of size 1
      ==9413==    at 0xC9D58A: my_casedn_str_utf8 (ctype-utf8.c:2609)
      ==9413==    by 0x72212F: Master_info::Master_info(st_mysql_lex_string*, bool) (rpl_mi.cc:57)
      ==9413==    by 0x62FD05: mysql_execute_command(THD*) (sql_parse.cc:2361)
      ==9413==    by 0x6393F2: mysql_parse(THD*, char*, unsigned int, Parser_state*) (sql_parse.cc:5813)
      ==9413==    by 0x62CC5A: dispatch_command(enum_server_command, THD*, char*, unsigned int) (sql_parse.cc:1069)
      ==9413==    by 0x62BF30: do_command(THD*) (sql_parse.cc:808)
      ==9413==    by 0x72BC14: do_handle_one_connection(THD*) (sql_connect.cc:1253)
      ==9413==    by 0x72B6BC: handle_one_connection (sql_connect.cc:1168)
      ==9413==    by 0xAD763B: pfs_spawn_thread (pfs.cc:1015)
      ==9413==    by 0x4E32A4E: start_thread (in /lib64/libpthread-2.11.2.so)
      ==9413==    by 0x60EE82C: clone (in /lib64/libc-2.11.2.so)
      ==9413==  Address 0x1164eba3 is 1 bytes after a block of size 114 alloc'd
      ==9413==    at 0x4C26C3A: malloc (in /usr/lib64/valgrind/vgpreload_memcheck-amd64-linux.so)
      ==9413==    by 0xC797E2: sf_malloc (safemalloc.c:105)
      ==9413==    by 0xC64263: my_malloc (my_malloc.c:41)
      ==9413==    by 0x72205A: Master_info::Master_info(st_mysql_lex_string*, bool) (rpl_mi.cc:49)
      ==9413==    by 0x62FD05: mysql_execute_command(THD*) (sql_parse.cc:2361)
      ==9413==    by 0x6393F2: mysql_parse(THD*, char*, unsigned int, Parser_state*) (sql_parse.cc:5813)
      ==9413==    by 0x62CC5A: dispatch_command(enum_server_command, THD*, char*, unsigned int) (sql_parse.cc:1069)
      ==9413==    by 0x62BF30: do_command(THD*) (sql_parse.cc:808)
      ==9413==    by 0x72BC14: do_handle_one_connection(THD*) (sql_connect.cc:1253)
      ==9413==    by 0x72B6BC: handle_one_connection (sql_connect.cc:1168)
      ==9413==    by 0xAD763B: pfs_spawn_thread (pfs.cc:1015)
      ==9413==    by 0x4E32A4E: start_thread (in /lib64/libpthread-2.11.2.so)
      ==9413==    by 0x60EE82C: clone (in /lib64/libc-2.11.2.so)
      ==9413== Invalid read of size 1
      ==9413==    at 0xC9D066: my_hash_sort_utf8 (ctype-utf8.c:2513)
      ==9413==    by 0xC413FB: calc_hash (hash.c:46)
      ==9413==    by 0xC41922: my_hash_first (hash.c:251)
      ==9413==    by 0xC41844: my_hash_search (hash.c:219)
      ==9413==    by 0xC41CD4: my_hash_insert (hash.c:387)
      ==9413==    by 0x7246E6: Master_info_index::add_master_info(Master_info*, bool) (rpl_mi.cc:950)
      ==9413==    by 0x65B1E5: change_master(THD*, Master_info*) (sql_repl.cc:1722)
      ==9413==    by 0x62FD8F: mysql_execute_command(THD*) (sql_parse.cc:2372)
      ==9413==    by 0x6393F2: mysql_parse(THD*, char*, unsigned int, Parser_state*) (sql_parse.cc:5813)
      ==9413==    by 0x62CC5A: dispatch_command(enum_server_command, THD*, char*, unsigned int) (sql_parse.cc:1069)
      ==9413==    by 0x62BF30: do_command(THD*) (sql_parse.cc:808)
      ==9413==    by 0x72BC14: do_handle_one_connection(THD*) (sql_connect.cc:1253)
      ==9413==    by 0x72B6BC: handle_one_connection (sql_connect.cc:1168)
      ==9413==    by 0xAD763B: pfs_spawn_thread (pfs.cc:1015)
      ==9413==    by 0x4E32A4E: start_thread (in /lib64/libpthread-2.11.2.so)
      ==9413==    by 0x60EE82C: clone (in /lib64/libc-2.11.2.so)
      ==9413==  Address 0x1164eba2 is 0 bytes after a block of size 114 alloc'd
      ==9413==    at 0x4C26C3A: malloc (in /usr/lib64/valgrind/vgpreload_memcheck-amd64-linux.so)
      ==9413==    by 0xC797E2: sf_malloc (safemalloc.c:105)
      ==9413==    by 0xC64263: my_malloc (my_malloc.c:41)
      ==9413==    by 0x72205A: Master_info::Master_info(st_mysql_lex_string*, bool) (rpl_mi.cc:49)
      ==9413==    by 0x62FD05: mysql_execute_command(THD*) (sql_parse.cc:2361)
      ==9413==    by 0x6393F2: mysql_parse(THD*, char*, unsigned int, Parser_state*) (sql_parse.cc:5813)
      ==9413==    by 0x62CC5A: dispatch_command(enum_server_command, THD*, char*, unsigned int) (sql_parse.cc:1069)
      ==9413==    by 0x62BF30: do_command(THD*) (sql_parse.cc:808)
      ==9413==    by 0x72BC14: do_handle_one_connection(THD*) (sql_connect.cc:1253)
      ==9413==    by 0x72B6BC: handle_one_connection (sql_connect.cc:1168)
      ==9413==    by 0xAD763B: pfs_spawn_thread (pfs.cc:1015)
      ==9413==    by 0x4E32A4E: start_thread (in /lib64/libpthread-2.11.2.so)
      ==9413==    by 0x60EE82C: clone (in /lib64/libc-2.11.2.so)
      ==9413== Invalid read of size 1
      ==9413==    at 0xC9CA9C: my_utf8_uni (ctype-utf8.c:2261)
      ==9413==    by 0xC9D1A6: my_hash_sort_utf8 (ctype-utf8.c:2516)
      ==9413==    by 0xC413FB: calc_hash (hash.c:46)
      ==9413==    by 0xC41922: my_hash_first (hash.c:251)
      ==9413==    by 0xC41844: my_hash_search (hash.c:219)
      ==9413==    by 0xC41CD4: my_hash_insert (hash.c:387)
      ==9413==    by 0x7246E6: Master_info_index::add_master_info(Master_info*, bool) (rpl_mi.cc:950)
      ==9413==    by 0x65B1E5: change_master(THD*, Master_info*) (sql_repl.cc:1722)
      ==9413==    by 0x62FD8F: mysql_execute_command(THD*) (sql_parse.cc:2372)
      ==9413==    by 0x6393F2: mysql_parse(THD*, char*, unsigned int, Parser_state*) (sql_parse.cc:5813)
      ==9413==    by 0x62CC5A: dispatch_command(enum_server_command, THD*, char*, unsigned int) (sql_parse.cc:1069)
      ==9413==    by 0x62BF30: do_command(THD*) (sql_parse.cc:808)
      ==9413==    by 0x72BC14: do_handle_one_connection(THD*) (sql_connect.cc:1253)
      ==9413==    by 0x72B6BC: handle_one_connection (sql_connect.cc:1168)
      ==9413==    by 0xAD763B: pfs_spawn_thread (pfs.cc:1015)
      ==9413==    by 0x4E32A4E: start_thread (in /lib64/libpthread-2.11.2.so)
      ==9413==  Address 0x1164eba2 is 0 bytes after a block of size 114 alloc'd
      ==9413==    at 0x4C26C3A: malloc (in /usr/lib64/valgrind/vgpreload_memcheck-amd64-linux.so)
      ==9413==    by 0xC797E2: sf_malloc (safemalloc.c:105)
      ==9413==    by 0xC64263: my_malloc (my_malloc.c:41)
      ==9413==    by 0x72205A: Master_info::Master_info(st_mysql_lex_string*, bool) (rpl_mi.cc:49)
      ==9413==    by 0x62FD05: mysql_execute_command(THD*) (sql_parse.cc:2361)
      ==9413==    by 0x6393F2: mysql_parse(THD*, char*, unsigned int, Parser_state*) (sql_parse.cc:5813)
      ==9413==    by 0x62CC5A: dispatch_command(enum_server_command, THD*, char*, unsigned int) (sql_parse.cc:1069)
      ==9413==    by 0x62BF30: do_command(THD*) (sql_parse.cc:808)
      ==9413==    by 0x72BC14: do_handle_one_connection(THD*) (sql_connect.cc:1253)
      ==9413==    by 0x72B6BC: handle_one_connection (sql_connect.cc:1168)
      ==9413==    by 0xAD763B: pfs_spawn_thread (pfs.cc:1015)
      ==9413==    by 0x4E32A4E: start_thread (in /lib64/libpthread-2.11.2.so)
      ==9413==    by 0x60EE82C: clone (in /lib64/libc-2.11.2.so)
      ==9413== Invalid read of size 1
      ==9413==    at 0xC9D066: my_hash_sort_utf8 (ctype-utf8.c:2513)
      ==9413==    by 0xC413FB: calc_hash (hash.c:46)
      ==9413==    by 0xC4180D: rec_hashnr (hash.c:212)
      ==9413==    by 0xC41FA9: my_hash_insert (hash.c:478)
      ==9413==    by 0x7246E6: Master_info_index::add_master_info(Master_info*, bool) (rpl_mi.cc:950)
      ==9413==    by 0x65B1E5: change_master(THD*, Master_info*) (sql_repl.cc:1722)
      ==9413==    by 0x62FD8F: mysql_execute_command(THD*) (sql_parse.cc:2372)
      ==9413==    by 0x6393F2: mysql_parse(THD*, char*, unsigned int, Parser_state*) (sql_parse.cc:5813)
      ==9413==    by 0x62CC5A: dispatch_command(enum_server_command, THD*, char*, unsigned int) (sql_parse.cc:1069)
      ==9413==    by 0x62BF30: do_command(THD*) (sql_parse.cc:808)
      ==9413==    by 0x72BC14: do_handle_one_connection(THD*) (sql_connect.cc:1253)
      ==9413==    by 0x72B6BC: handle_one_connection (sql_connect.cc:1168)
      ==9413==    by 0xAD763B: pfs_spawn_thread (pfs.cc:1015)
      ==9413==    by 0x4E32A4E: start_thread (in /lib64/libpthread-2.11.2.so)
      ==9413==    by 0x60EE82C: clone (in /lib64/libc-2.11.2.so)
      ==9413==  Address 0x1164eba2 is 0 bytes after a block of size 114 alloc'd
      ==9413==    at 0x4C26C3A: malloc (in /usr/lib64/valgrind/vgpreload_memcheck-amd64-linux.so)
      ==9413==    by 0xC797E2: sf_malloc (safemalloc.c:105)
      ==9413==    by 0xC64263: my_malloc (my_malloc.c:41)
      ==9413==    by 0x72205A: Master_info::Master_info(st_mysql_lex_string*, bool) (rpl_mi.cc:49)
      ==9413==    by 0x62FD05: mysql_execute_command(THD*) (sql_parse.cc:2361)
      ==9413==    by 0x6393F2: mysql_parse(THD*, char*, unsigned int, Parser_state*) (sql_parse.cc:5813)
      ==9413==    by 0x62CC5A: dispatch_command(enum_server_command, THD*, char*, unsigned int) (sql_parse.cc:1069)
      ==9413==    by 0x62BF30: do_command(THD*) (sql_parse.cc:808)
      ==9413==    by 0x72BC14: do_handle_one_connection(THD*) (sql_connect.cc:1253)
      ==9413==    by 0x72B6BC: handle_one_connection (sql_connect.cc:1168)
      ==9413==    by 0xAD763B: pfs_spawn_thread (pfs.cc:1015)
      ==9413==    by 0x4E32A4E: start_thread (in /lib64/libpthread-2.11.2.so)
      ==9413==    by 0x60EE82C: clone (in /lib64/libc-2.11.2.so)
      ==9413== Invalid read of size 1
      ==9413==    at 0xC9CA9C: my_utf8_uni (ctype-utf8.c:2261)
      ==9413==    by 0xC9D1A6: my_hash_sort_utf8 (ctype-utf8.c:2516)
      ==9413==    by 0xC413FB: calc_hash (hash.c:46)
      ==9413==    by 0xC4180D: rec_hashnr (hash.c:212)
      ==9413==    by 0xC41FA9: my_hash_insert (hash.c:478)
      ==9413==    by 0x7246E6: Master_info_index::add_master_info(Master_info*, bool) (rpl_mi.cc:950)
      ==9413==    by 0x65B1E5: change_master(THD*, Master_info*) (sql_repl.cc:1722)
      ==9413==    by 0x62FD8F: mysql_execute_command(THD*) (sql_parse.cc:2372)
      ==9413==    by 0x6393F2: mysql_parse(THD*, char*, unsigned int, Parser_state*) (sql_parse.cc:5813)
      ==9413==    by 0x62CC5A: dispatch_command(enum_server_command, THD*, char*, unsigned int) (sql_parse.cc:1069)
      ==9413==    by 0x62BF30: do_command(THD*) (sql_parse.cc:808)
      ==9413==    by 0x72BC14: do_handle_one_connection(THD*) (sql_connect.cc:1253)
      ==9413==    by 0x72B6BC: handle_one_connection (sql_connect.cc:1168)
      ==9413==    by 0xAD763B: pfs_spawn_thread (pfs.cc:1015)
      ==9413==    by 0x4E32A4E: start_thread (in /lib64/libpthread-2.11.2.so)
      ==9413==    by 0x60EE82C: clone (in /lib64/libc-2.11.2.so)
      ==9413==  Address 0x1164eba2 is 0 bytes after a block of size 114 alloc'd
      ==9413==    at 0x4C26C3A: malloc (in /usr/lib64/valgrind/vgpreload_memcheck-amd64-linux.so)
      ==9413==    by 0xC797E2: sf_malloc (safemalloc.c:105)
      ==9413==    by 0xC64263: my_malloc (my_malloc.c:41)
      ==9413==    by 0x72205A: Master_info::Master_info(st_mysql_lex_string*, bool) (rpl_mi.cc:49)
      ==9413==    by 0x62FD05: mysql_execute_command(THD*) (sql_parse.cc:2361)
      ==9413==    by 0x6393F2: mysql_parse(THD*, char*, unsigned int, Parser_state*) (sql_parse.cc:5813)
      ==9413==    by 0x62CC5A: dispatch_command(enum_server_command, THD*, char*, unsigned int) (sql_parse.cc:1069)
      ==9413==    by 0x62BF30: do_command(THD*) (sql_parse.cc:808)
      ==9413==    by 0x72BC14: do_handle_one_connection(THD*) (sql_connect.cc:1253)
      ==9413==    by 0x72B6BC: handle_one_connection (sql_connect.cc:1168)
      ==9413==    by 0xAD763B: pfs_spawn_thread (pfs.cc:1015)
      ==9413==    by 0x4E32A4E: start_thread (in /lib64/libpthread-2.11.2.so)
      ==9413==    by 0x60EE82C: clone (in /lib64/libc-2.11.2.so)
      ^ Found warnings in /home/elenst/10.0-mdev253/mysql-test/var/log/mysqld.1.err
      ok
       
       - saving '/home/elenst/10.0-mdev253/mysql-test/var/log/multi_source.memory_issue/' to '/home/elenst/10.0-mdev253/mysql-test/var/log/multi_source.memory_issue/'
      ***Warnings generated in error logs during shutdown after running tests: multi_source.memory_issue
       
      Error: Freeing overrun buffer  mysys/safemalloc.c:179, mysys/my_malloc.c:116, sql/rpl_mi.cc:76, sql/rpl_mi.cc:84, sql/rpl_mi.cc:596, mysys/hash.c:115, mysys/hash.c:139, sql/rpl_mi.cc:674
      Error: Safemalloc overrun buffer  mysys/safemalloc.c:303, mysys/safemalloc.c:325, ??:0, ??:0, sql/mysqld.cc:1758, sql/mysqld.cc:5022, sql/main.cc:26, ??:0
      Warning:   14 bytes lost, allocated at sql/rpl_mi.cc:48, sql/sql_parse.cc:2361, sql/sql_parse.cc:5813, sql/sql_parse.cc:1071, sql/sql_parse.cc:808, sql/sql_connect.cc:1253, sql/sql_connect.cc:1169, perfschema/pfs.cc:1017
      ==9413== Thread 1:
      ==9413== 114 bytes in 1 blocks are still reachable in loss record 2 of 3
      ==9413==    at 0x4C26C3A: malloc (in /usr/lib64/valgrind/vgpreload_memcheck-amd64-linux.so)
      ==9413==    by 0xC797E2: sf_malloc (safemalloc.c:105)
      ==9413==    by 0xC64263: my_malloc (my_malloc.c:41)
      ==9413==    by 0x72205A: Master_info::Master_info(st_mysql_lex_string*, bool) (rpl_mi.cc:49)
      ==9413==    by 0x62FD05: mysql_execute_command(THD*) (sql_parse.cc:2361)
      ==9413==    by 0x6393F2: mysql_parse(THD*, char*, unsigned int, Parser_state*) (sql_parse.cc:5813)
      ==9413==    by 0x62CC5A: dispatch_command(enum_server_command, THD*, char*, unsigned int) (sql_parse.cc:1069)
      ==9413==    by 0x62BF30: do_command(THD*) (sql_parse.cc:808)
      ==9413==    by 0x72BC14: do_handle_one_connection(THD*) (sql_connect.cc:1253)
      ==9413==    by 0x72B6BC: handle_one_connection (sql_connect.cc:1168)
      ==9413==    by 0xAD763B: pfs_spawn_thread (pfs.cc:1015)
      ==9413==    by 0x4E32A4E: start_thread (in /lib64/libpthread-2.11.2.so)
      ==9413==    by 0x60EE82C: clone (in /lib64/libc-2.11.2.so)

      I have also attached the trace file (gzipped), and set up the test on perro.askmonty.org where the problem is reproducible. It's in /home/elenst/10.0-mdev253/, just go there and run the test multi_source.memory_issue. You can do whatever you need with this basedir.
      The same mysqld.trace that is attached to this task is also there in /home/elenst/10.0-mdev253/mysql-test/mysqld.trace

      Attachments

        Activity

          People

            monty Michael Widenius
            elenst Elena Stepanova
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              Git Integration

                Error rendering 'com.xiplink.jira.git.jira_git_plugin:git-issue-webpanel'. Please contact your Jira administrators.