Uploaded image for project: 'MariaDB Server'
  1. MariaDB Server
  2. MDEV-32614

LeakSanitizer errors in copy_data_between_tables

    XMLWordPrintable

Details

    Description

      The test case is non-deterministic, run with --repeat=N. It usually fails for me on the 1st attempt, but it can vary on different machines and builds.

      --source include/have_sequence.inc
       
      CREATE TABLE t (a INT, b INT) ENGINE=Aria;
      INSERT INTO t SELECT seq, seq FROM seq_1_to_1000;
      BACKUP STAGE START;
       
      --connect (con1,localhost,root,,)
      SET lock_wait_timeout= 1;
      --send
        ALTER TABLE t ADD INDEX (b);
       
      --connection default
      BACKUP STAGE BLOCK_COMMIT;
       
      --connection con1
      --error 0,ER_LOCK_WAIT_TIMEOUT
      --reap
      --echo # Error $mysql_errno
      --send
        ALTER TABLE t ADD INDEX (a);
      

      11.2 a05b5dd5

      Warning: Memory not freed: 135608
       
      =================================================================
      ==269613==ERROR: LeakSanitizer: detected memory leaks
       
      Direct leak of 1952 byte(s) in 1 object(s) allocated from:
          #0 0x7f4e76cb94c8 in operator new(unsigned long) ../../../../src/libsanitizer/asan/asan_new_delete.cpp:95
          #1 0x55dd65a849c4 in copy_data_between_tables /data/src/11.2/sql/sql_table.cc:11954
          #2 0x55dd65a7e16a in mysql_alter_table(THD*, st_mysql_const_lex_string const*, st_mysql_const_lex_string const*, Table_specification_st*, TABLE_LIST*, Recreate_info*, Alter_info*, unsigned int, st_order*, bool, bool) /data/src/11.2/sql/sql_table.cc:11194
          #3 0x55dd65c46cbc in Sql_cmd_alter_table::execute(THD*) /data/src/11.2/sql/sql_alter.cc:615
          #4 0x55dd6577a77f in mysql_execute_command(THD*, bool) /data/src/11.2/sql/sql_parse.cc:5775
          #5 0x55dd65787670 in mysql_parse(THD*, char*, unsigned int, Parser_state*) /data/src/11.2/sql/sql_parse.cc:7810
          #6 0x55dd6575fa30 in dispatch_command(enum_server_command, THD*, char*, unsigned int, bool) /data/src/11.2/sql/sql_parse.cc:1893
          #7 0x55dd6575c76d in do_command(THD*, bool) /data/src/11.2/sql/sql_parse.cc:1406
          #8 0x55dd65c28b80 in do_handle_one_connection(CONNECT*, bool) /data/src/11.2/sql/sql_connect.cc:1418
          #9 0x55dd65c28541 in handle_one_connection /data/src/11.2/sql/sql_connect.cc:1320
          #10 0x55dd66851d1b in pfs_spawn_thread /data/src/11.2/storage/perfschema/pfs.cc:2201
          #11 0x7f4e760a8043 in start_thread nptl/pthread_create.c:442
       
      Indirect leak of 65560 byte(s) in 1 object(s) allocated from:
          #0 0x7f4e76cb89cf in __interceptor_malloc ../../../../src/libsanitizer/asan/asan_malloc_linux.cpp:69
          #1 0x55dd6743a9bf in my_malloc /data/src/11.2/mysys/my_malloc.c:89
          #2 0x55dd673df059 in init_io_cache_ext /data/src/11.2/mysys/mf_iocache.c:248
          #3 0x55dd673df884 in init_io_cache /data/src/11.2/mysys/mf_iocache.c:301
          #4 0x55dd663e7c9b in Event_log::open(cache_type) /data/src/11.2/sql/log.cc:3847
          #5 0x55dd65a8e664 in Cache_flip_event_log::open(cache_type) (/mnt8t/bld/11.2-asan/bin/mariadbd+0x1f51664)
          #6 0x55dd65a84b33 in copy_data_between_tables /data/src/11.2/sql/sql_table.cc:11958
          #7 0x55dd65a7e16a in mysql_alter_table(THD*, st_mysql_const_lex_string const*, st_mysql_const_lex_string const*, Table_specification_st*, TABLE_LIST*, Recreate_info*, Alter_info*, unsigned int, st_order*, bool, bool) /data/src/11.2/sql/sql_table.cc:11194
          #8 0x55dd65c46cbc in Sql_cmd_alter_table::execute(THD*) /data/src/11.2/sql/sql_alter.cc:615
          #9 0x55dd6577a77f in mysql_execute_command(THD*, bool) /data/src/11.2/sql/sql_parse.cc:5775
          #10 0x55dd65787670 in mysql_parse(THD*, char*, unsigned int, Parser_state*) /data/src/11.2/sql/sql_parse.cc:7810
          #11 0x55dd6575fa30 in dispatch_command(enum_server_command, THD*, char*, unsigned int, bool) /data/src/11.2/sql/sql_parse.cc:1893
          #12 0x55dd6575c76d in do_command(THD*, bool) /data/src/11.2/sql/sql_parse.cc:1406
          #13 0x55dd65c28b80 in do_handle_one_connection(CONNECT*, bool) /data/src/11.2/sql/sql_connect.cc:1418
          #14 0x55dd65c28541 in handle_one_connection /data/src/11.2/sql/sql_connect.cc:1320
          #15 0x55dd66851d1b in pfs_spawn_thread /data/src/11.2/storage/perfschema/pfs.cc:2201
          #16 0x7f4e760a8043 in start_thread nptl/pthread_create.c:442
       
      Indirect leak of 65560 byte(s) in 1 object(s) allocated from:
          #0 0x7f4e76cb89cf in __interceptor_malloc ../../../../src/libsanitizer/asan/asan_malloc_linux.cpp:69
          #1 0x55dd6743a9bf in my_malloc /data/src/11.2/mysys/my_malloc.c:89
          #2 0x55dd673df059 in init_io_cache_ext /data/src/11.2/mysys/mf_iocache.c:248
          #3 0x55dd673df884 in init_io_cache /data/src/11.2/mysys/mf_iocache.c:301
          #4 0x55dd65a8e74a in Cache_flip_event_log::open(cache_type) (/mnt8t/bld/11.2-asan/bin/mariadbd+0x1f5174a)
          #5 0x55dd65a84b33 in copy_data_between_tables /data/src/11.2/sql/sql_table.cc:11958
          #6 0x55dd65a7e16a in mysql_alter_table(THD*, st_mysql_const_lex_string const*, st_mysql_const_lex_string const*, Table_specification_st*, TABLE_LIST*, Recreate_info*, Alter_info*, unsigned int, st_order*, bool, bool) /data/src/11.2/sql/sql_table.cc:11194
          #7 0x55dd65c46cbc in Sql_cmd_alter_table::execute(THD*) /data/src/11.2/sql/sql_alter.cc:615
          #8 0x55dd6577a77f in mysql_execute_command(THD*, bool) /data/src/11.2/sql/sql_parse.cc:5775
          #9 0x55dd65787670 in mysql_parse(THD*, char*, unsigned int, Parser_state*) /data/src/11.2/sql/sql_parse.cc:7810
          #10 0x55dd6575fa30 in dispatch_command(enum_server_command, THD*, char*, unsigned int, bool) /data/src/11.2/sql/sql_parse.cc:1893
          #11 0x55dd6575c76d in do_command(THD*, bool) /data/src/11.2/sql/sql_parse.cc:1406
          #12 0x55dd65c28b80 in do_handle_one_connection(CONNECT*, bool) /data/src/11.2/sql/sql_connect.cc:1418
          #13 0x55dd65c28541 in handle_one_connection /data/src/11.2/sql/sql_connect.cc:1320
          #14 0x55dd66851d1b in pfs_spawn_thread /data/src/11.2/storage/perfschema/pfs.cc:2201
          #15 0x7f4e760a8043 in start_thread nptl/pthread_create.c:442
       
      Indirect leak of 2072 byte(s) in 1 object(s) allocated from:
          #0 0x7f4e76cb89cf in __interceptor_malloc ../../../../src/libsanitizer/asan/asan_malloc_linux.cpp:69
          #1 0x55dd6743a9bf in my_malloc /data/src/11.2/mysys/my_malloc.c:89
          #2 0x55dd673c510a in init_dynamic_array2 /data/src/11.2/mysys/array.c:73
          #3 0x55dd673d52e0 in my_hash_init2 /data/src/11.2/mysys/hash.c:99
          #4 0x55dd67456a15 in safe_mutex_lazy_init_deadlock_detection /data/src/11.2/mysys/thr_mutex.c:175
          #5 0x55dd6745752d in safe_mutex_lock /data/src/11.2/mysys/thr_mutex.c:316
          #6 0x55dd6744584f in psi_mutex_lock /data/src/11.2/mysys/my_thr_init.c:487
          #7 0x55dd65a2a1f6 in inline_mysql_mutex_lock /data/src/11.2/include/mysql/psi/mysql_thread.h:746
          #8 0x55dd65a8e814 in Cache_flip_event_log::flip() (/mnt8t/bld/11.2-asan/bin/mariadbd+0x1f51814)
          #9 0x55dd65a82247 in online_alter_read_from_binlog /data/src/11.2/sql/sql_table.cc:11715
          #10 0x55dd65a8670c in copy_data_between_tables /data/src/11.2/sql/sql_table.cc:12164
          #11 0x55dd65a7e16a in mysql_alter_table(THD*, st_mysql_const_lex_string const*, st_mysql_const_lex_string const*, Table_specification_st*, TABLE_LIST*, Recreate_info*, Alter_info*, unsigned int, st_order*, bool, bool) /data/src/11.2/sql/sql_table.cc:11194
          #12 0x55dd65c46cbc in Sql_cmd_alter_table::execute(THD*) /data/src/11.2/sql/sql_alter.cc:615
          #13 0x55dd6577a77f in mysql_execute_command(THD*, bool) /data/src/11.2/sql/sql_parse.cc:5775
          #14 0x55dd65787670 in mysql_parse(THD*, char*, unsigned int, Parser_state*) /data/src/11.2/sql/sql_parse.cc:7810
          #15 0x55dd6575fa30 in dispatch_command(enum_server_command, THD*, char*, unsigned int, bool) /data/src/11.2/sql/sql_parse.cc:1893
          #16 0x55dd6575c76d in do_command(THD*, bool) /data/src/11.2/sql/sql_parse.cc:1406
          #17 0x55dd65c28b80 in do_handle_one_connection(CONNECT*, bool) /data/src/11.2/sql/sql_connect.cc:1418
          #18 0x55dd65c28541 in handle_one_connection /data/src/11.2/sql/sql_connect.cc:1320
          #19 0x55dd66851d1b in pfs_spawn_thread /data/src/11.2/storage/perfschema/pfs.cc:2201
          #20 0x7f4e760a8043 in start_thread nptl/pthread_create.c:442
       
      Indirect leak of 2072 byte(s) in 1 object(s) allocated from:
          #0 0x7f4e76cb89cf in __interceptor_malloc ../../../../src/libsanitizer/asan/asan_malloc_linux.cpp:69
          #1 0x55dd6743a9bf in my_malloc /data/src/11.2/mysys/my_malloc.c:89
          #2 0x55dd673c510a in init_dynamic_array2 /data/src/11.2/mysys/array.c:73
          #3 0x55dd673d52e0 in my_hash_init2 /data/src/11.2/mysys/hash.c:99
          #4 0x55dd674569a9 in safe_mutex_lazy_init_deadlock_detection /data/src/11.2/mysys/thr_mutex.c:172
          #5 0x55dd6745752d in safe_mutex_lock /data/src/11.2/mysys/thr_mutex.c:316
          #6 0x55dd6744584f in psi_mutex_lock /data/src/11.2/mysys/my_thr_init.c:487
          #7 0x55dd65a2a1f6 in inline_mysql_mutex_lock /data/src/11.2/include/mysql/psi/mysql_thread.h:746
          #8 0x55dd65a8e814 in Cache_flip_event_log::flip() (/mnt8t/bld/11.2-asan/bin/mariadbd+0x1f51814)
          #9 0x55dd65a82247 in online_alter_read_from_binlog /data/src/11.2/sql/sql_table.cc:11715
          #10 0x55dd65a8670c in copy_data_between_tables /data/src/11.2/sql/sql_table.cc:12164
          #11 0x55dd65a7e16a in mysql_alter_table(THD*, st_mysql_const_lex_string const*, st_mysql_const_lex_string const*, Table_specification_st*, TABLE_LIST*, Recreate_info*, Alter_info*, unsigned int, st_order*, bool, bool) /data/src/11.2/sql/sql_table.cc:11194
          #12 0x55dd65c46cbc in Sql_cmd_alter_table::execute(THD*) /data/src/11.2/sql/sql_alter.cc:615
          #13 0x55dd6577a77f in mysql_execute_command(THD*, bool) /data/src/11.2/sql/sql_parse.cc:5775
          #14 0x55dd65787670 in mysql_parse(THD*, char*, unsigned int, Parser_state*) /data/src/11.2/sql/sql_parse.cc:7810
          #15 0x55dd6575fa30 in dispatch_command(enum_server_command, THD*, char*, unsigned int, bool) /data/src/11.2/sql/sql_parse.cc:1893
          #16 0x55dd6575c76d in do_command(THD*, bool) /data/src/11.2/sql/sql_parse.cc:1406
          #17 0x55dd65c28b80 in do_handle_one_connection(CONNECT*, bool) /data/src/11.2/sql/sql_connect.cc:1418
          #18 0x55dd65c28541 in handle_one_connection /data/src/11.2/sql/sql_connect.cc:1320
          #19 0x55dd66851d1b in pfs_spawn_thread /data/src/11.2/storage/perfschema/pfs.cc:2201
          #20 0x7f4e760a8043 in start_thread nptl/pthread_create.c:442
       
      Indirect leak of 296 byte(s) in 1 object(s) allocated from:
          #0 0x7f4e76cb89cf in __interceptor_malloc ../../../../src/libsanitizer/asan/asan_malloc_linux.cpp:69
          #1 0x55dd6743a9bf in my_malloc /data/src/11.2/mysys/my_malloc.c:89
          #2 0x55dd67414e15 in my_multi_malloc /data/src/11.2/mysys/mulalloc.c:59
          #3 0x55dd6745684e in safe_mutex_lazy_init_deadlock_detection /data/src/11.2/mysys/thr_mutex.c:159
          #4 0x55dd6745752d in safe_mutex_lock /data/src/11.2/mysys/thr_mutex.c:316
          #5 0x55dd6744584f in psi_mutex_lock /data/src/11.2/mysys/my_thr_init.c:487
          #6 0x55dd65a2a1f6 in inline_mysql_mutex_lock /data/src/11.2/include/mysql/psi/mysql_thread.h:746
          #7 0x55dd65a8e814 in Cache_flip_event_log::flip() (/mnt8t/bld/11.2-asan/bin/mariadbd+0x1f51814)
          #8 0x55dd65a82247 in online_alter_read_from_binlog /data/src/11.2/sql/sql_table.cc:11715
          #9 0x55dd65a8670c in copy_data_between_tables /data/src/11.2/sql/sql_table.cc:12164
          #10 0x55dd65a7e16a in mysql_alter_table(THD*, st_mysql_const_lex_string const*, st_mysql_const_lex_string const*, Table_specification_st*, TABLE_LIST*, Recreate_info*, Alter_info*, unsigned int, st_order*, bool, bool) /data/src/11.2/sql/sql_table.cc:11194
          #11 0x55dd65c46cbc in Sql_cmd_alter_table::execute(THD*) /data/src/11.2/sql/sql_alter.cc:615
          #12 0x55dd6577a77f in mysql_execute_command(THD*, bool) /data/src/11.2/sql/sql_parse.cc:5775
          #13 0x55dd65787670 in mysql_parse(THD*, char*, unsigned int, Parser_state*) /data/src/11.2/sql/sql_parse.cc:7810
          #14 0x55dd6575fa30 in dispatch_command(enum_server_command, THD*, char*, unsigned int, bool) /data/src/11.2/sql/sql_parse.cc:1893
          #15 0x55dd6575c76d in do_command(THD*, bool) /data/src/11.2/sql/sql_parse.cc:1406
          #16 0x55dd65c28b80 in do_handle_one_connection(CONNECT*, bool) /data/src/11.2/sql/sql_connect.cc:1418
          #17 0x55dd65c28541 in handle_one_connection /data/src/11.2/sql/sql_connect.cc:1320
          #18 0x55dd66851d1b in pfs_spawn_thread /data/src/11.2/storage/perfschema/pfs.cc:2201
          #19 0x7f4e760a8043 in start_thread nptl/pthread_create.c:442
       
      Indirect leak of 48 byte(s) in 1 object(s) allocated from:
          #0 0x7f4e76cb89cf in __interceptor_malloc ../../../../src/libsanitizer/asan/asan_malloc_linux.cpp:69
          #1 0x55dd6743a9bf in my_malloc /data/src/11.2/mysys/my_malloc.c:89
          #2 0x55dd6743bbdd in my_strdup /data/src/11.2/mysys/my_malloc.c:239
          #3 0x55dd65a8e6cf in Cache_flip_event_log::open(cache_type) (/mnt8t/bld/11.2-asan/bin/mariadbd+0x1f516cf)
          #4 0x55dd65a84b33 in copy_data_between_tables /data/src/11.2/sql/sql_table.cc:11958
          #5 0x55dd65a7e16a in mysql_alter_table(THD*, st_mysql_const_lex_string const*, st_mysql_const_lex_string const*, Table_specification_st*, TABLE_LIST*, Recreate_info*, Alter_info*, unsigned int, st_order*, bool, bool) /data/src/11.2/sql/sql_table.cc:11194
          #6 0x55dd65c46cbc in Sql_cmd_alter_table::execute(THD*) /data/src/11.2/sql/sql_alter.cc:615
          #7 0x55dd6577a77f in mysql_execute_command(THD*, bool) /data/src/11.2/sql/sql_parse.cc:5775
          #8 0x55dd65787670 in mysql_parse(THD*, char*, unsigned int, Parser_state*) /data/src/11.2/sql/sql_parse.cc:7810
          #9 0x55dd6575fa30 in dispatch_command(enum_server_command, THD*, char*, unsigned int, bool) /data/src/11.2/sql/sql_parse.cc:1893
          #10 0x55dd6575c76d in do_command(THD*, bool) /data/src/11.2/sql/sql_parse.cc:1406
          #11 0x55dd65c28b80 in do_handle_one_connection(CONNECT*, bool) /data/src/11.2/sql/sql_connect.cc:1418
          #12 0x55dd65c28541 in handle_one_connection /data/src/11.2/sql/sql_connect.cc:1320
          #13 0x55dd66851d1b in pfs_spawn_thread /data/src/11.2/storage/perfschema/pfs.cc:2201
          #14 0x7f4e760a8043 in start_thread nptl/pthread_create.c:442
       
      SUMMARY: AddressSanitizer: 137560 byte(s) leaked in 7 allocation(s).
      231027 20:26:05 [ERROR] mysqld got signal 6 ;
      This could be because you hit a bug. It is also possible that this binary
      or one of the libraries it was linked against is corrupt, improperly built,
      or misconfigured. This error can also be caused by malfunctioning hardware.
       
      To report this bug, see https://mariadb.com/kb/en/reporting-bugs
       
      We will try our best to scrape up some info that will hopefully help
      diagnose the problem, but since we have already crashed, 
      something is definitely wrong and this may fail.
       
      Server version: 11.2.2-MariaDB-debug-log source revision: a05b5dd505347e2c8c66d591fe9561a5dca99198
      read_buffer_size=131072
      max_used_connections=2
      thread_count=0
      Thread pointer: 0x0
      Attempting backtrace. You can use the following information to find out
      where mysqld died. If you see no messages after this, something went
      terribly wrong...
      stack_bottom = 0x0 thread_stack 0x100000
      sanitizer_common/sanitizer_common_interceptors.inc:4277(__interceptor_backtrace.part.0)[0x7f4e76c51f31]
      mysys/stacktrace.c:215(my_print_stacktrace)[0x55dd6744baeb]
      sql/signal_handler.cc:241(handle_fatal_signal)[0x55dd660929f9]
      libc_sigaction.c:0(__restore_rt)[0x7f4e7605afd0]
      nptl/pthread_kill.c:44(__pthread_kill_implementation)[0x7f4e760a9d3c]
      posix/raise.c:27(__GI_raise)[0x7f4e7605af32]
      stdlib/abort.c:81(__GI_abort)[0x7f4e76045472]
      sanitizer_common/sanitizer_posix_libcdep.cpp:137(__sanitizer::Abort())[0x7f4e76cd650f]
      sanitizer_common/sanitizer_termination.cpp:59(__sanitizer::Die())[0x7f4e76ce2ba1]
      lsan/lsan_common_linux.cpp:120(__lsan::HandleLeaks())[0x7f4e76cea87c]
      lsan/lsan_common.cpp:732(__lsan::DoLeakCheck())[0x7f4e76ce8dc5]
      stdlib/cxa_finalize.c:84(__cxa_finalize)[0x7f4e7605cf77]
      crtstuff.c:0(__do_global_dtors_aux)[0x7f4e76c24bc7]
      The manual page at https://mariadb.com/kb/en/how-to-produce-a-full-stack-trace-for-mysqld/ contains
      information that should help you find out what is causing the crash.
      Writing a core file...
      Working directory at /dev/shm/var_auto_6Yod/mysqld.1/data
      Resource Limits:
      Limit                     Soft Limit           Hard Limit           Units     
      Max cpu time              unlimited            unlimited            seconds   
      Max file size             unlimited            unlimited            bytes     
      Max data size             unlimited            unlimited            bytes     
      Max stack size            8388608              unlimited            bytes     
      Max core file size        unlimited            unlimited            bytes     
      Max resident set          unlimited            unlimited            bytes     
      Max processes             385706               385706               processes 
      Max open files            65536                65536                files     
      Max locked memory         12648914944          12648914944          bytes     
      Max address space         unlimited            unlimited            bytes     
      Max file locks            unlimited            unlimited            locks     
      Max pending signals       385706               385706               signals   
      Max msgqueue size         819200               819200               bytes     
      Max nice priority         0                    0                    
      Max realtime priority     0                    0                    
      Max realtime timeout      unlimited            unlimited            us        
      Core pattern: core
       
      Kernel version: Linux version 6.1.0-13-amd64 (debian-kernel@lists.debian.org) (gcc-12 (Debian 12.2.0-14) 12.2.0, GNU ld (GNU Binutils for Debian) 2.40) #1 SMP PREEMPT_DYNAMIC Debian 6.1.55-1 (2023-09-29)
      

      Attachments

        Activity

          People

            nikitamalyavin Nikita Malyavin
            elenst Elena Stepanova
            Votes:
            0 Vote for this issue
            Watchers:
            4 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.