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

LeakSanitizer/Valgrind errors in trx_mod_table_time_t::start_bulk_insert upon adding system versioning

    XMLWordPrintable

Details

    Description

      --source include/have_innodb.inc
       
      CREATE TABLE t (id INT, s DATE, e DATE, PERIOD FOR p(s,e), PRIMARY KEY(id, p WITHOUT OVERLAPS)) ENGINE=InnoDB;
      SET UNIQUE_CHECKS= OFF, FOREIGN_KEY_CHECKS = OFF;
      ALTER TABLE t ADD COLUMN row_start BIGINT UNSIGNED AS ROW START, ADD COLUMN row_end BIGINT UNSIGNED AS ROW END, ADD PERIOD FOR SYSTEM_TIME(row_start,row_end), WITH SYSTEM VERSIONING;
       
      # Cleanup
      DROP TABLE t;
      

      10.7 d6e3cd6f

      ==3787428==ERROR: LeakSanitizer: detected memory leaks
       
      Direct leak of 104 byte(s) in 1 object(s) allocated from:
          #0 0x7f8ab4d28947 in operator new(unsigned long) (/lib/x86_64-linux-gnu/libasan.so.5+0x10f947)
          #1 0x5619a4d60437 in trx_mod_table_time_t::start_bulk_insert(dict_table_t*) /data/src/10.7/storage/innobase/include/trx0trx.h:481
          #2 0x5619a4d5beeb in trx_undo_report_row_operation(que_thr_t*, dict_index_t*, dtuple_t const*, upd_t const*, unsigned long, unsigned char const*, unsigned short const*, unsigned long*) /data/src/10.7/storage/innobase/trx/trx0rec.cc:2056
          #3 0x5619a4bdc210 in row_ins_clust_index_entry_low(unsigned long, unsigned long, dict_index_t*, unsigned long, dtuple_t*, unsigned long, que_thr_t*) /data/src/10.7/storage/innobase/row/row0ins.cc:2674
          #4 0x5619a4bdf589 in row_ins_clust_index_entry(dict_index_t*, dtuple_t*, que_thr_t*, unsigned long) /data/src/10.7/storage/innobase/row/row0ins.cc:3246
          #5 0x5619a4be014e in row_ins_index_entry /data/src/10.7/storage/innobase/row/row0ins.cc:3380
          #6 0x5619a4be12e6 in row_ins_index_entry_step /data/src/10.7/storage/innobase/row/row0ins.cc:3548
          #7 0x5619a4be1dc1 in row_ins /data/src/10.7/storage/innobase/row/row0ins.cc:3694
          #8 0x5619a4be2fd6 in row_ins_step(que_thr_t*) /data/src/10.7/storage/innobase/row/row0ins.cc:3840
          #9 0x5619a4c2d576 in row_insert_for_mysql(unsigned char const*, row_prebuilt_t*, ins_mode_t) /data/src/10.7/storage/innobase/row/row0mysql.cc:1318
          #10 0x5619a4864462 in ha_innobase::write_row(unsigned char const*) /data/src/10.7/storage/innobase/handler/ha_innodb.cc:7826
          #11 0x5619a3eaf634 in handler::ha_write_row(unsigned char const*) /data/src/10.7/sql/handler.cc:7516
          #12 0x5619a39b2061 in TR_table::update(unsigned long long, unsigned long long) /data/src/10.7/sql/table.cc:9711
          #13 0x5619a3e7bda3 in ha_commit_trans(THD*, bool) /data/src/10.7/sql/handler.cc:1764
          #14 0x5619a3e9d7b7 in ha_enable_transaction(THD*, bool) /data/src/10.7/sql/handler.cc:5536
          #15 0x5619a38cb487 in mysql_trans_commit_alter_copy_data(THD*) /data/src/10.7/sql/sql_table.cc:10906
          #16 0x5619a38ceaf5 in copy_data_between_tables /data/src/10.7/sql/sql_table.cc:11273
          #17 0x5619a38c7d49 in mysql_alter_table(THD*, st_mysql_const_lex_string const*, st_mysql_const_lex_string const*, HA_CREATE_INFO*, TABLE_LIST*, Alter_info*, unsigned int, st_order*, bool, bool) /data/src/10.7/sql/sql_table.cc:10453
          #18 0x5619a3a84bdc in Sql_cmd_alter_table::execute(THD*) /data/src/10.7/sql/sql_alter.cc:553
          #19 0x5619a35e61a1 in mysql_execute_command(THD*, bool) /data/src/10.7/sql/sql_parse.cc:5989
          #20 0x5619a35f39c6 in mysql_parse(THD*, char*, unsigned int, Parser_state*) /data/src/10.7/sql/sql_parse.cc:8028
          #21 0x5619a35c9ad5 in dispatch_command(enum_server_command, THD*, char*, unsigned int, bool) /data/src/10.7/sql/sql_parse.cc:1894
          #22 0x5619a35c67f9 in do_command(THD*, bool) /data/src/10.7/sql/sql_parse.cc:1402
          #23 0x5619a3a66dd8 in do_handle_one_connection(CONNECT*, bool) /data/src/10.7/sql/sql_connect.cc:1418
          #24 0x5619a3a66664 in handle_one_connection /data/src/10.7/sql/sql_connect.cc:1312
          #25 0x5619a4659b84 in pfs_spawn_thread /data/src/10.7/storage/perfschema/pfs.cc:2201
          #26 0x7f8ab46a7608 in start_thread /build/glibc-eX1tMB/glibc-2.31/nptl/pthread_create.c:477
       
      Indirect leak of 3666928 byte(s) in 4 object(s) allocated from:
          #0 0x7f8ab4d26bc8 in malloc (/lib/x86_64-linux-gnu/libasan.so.5+0x10dbc8)
          #1 0x5619a48c16b2 in ut_allocator<unsigned char, true>::allocate(unsigned long, unsigned char const*, unsigned int, bool, bool) /data/src/10.7/storage/innobase/include/ut0new.h:375
          #2 0x5619a4bf410d in row_merge_buf_create_low /data/src/10.7/storage/innobase/row/row0merge.cc:344
          #3 0x5619a4c17462 in row_merge_bulk_t::row_merge_bulk_t(dict_table_t*) /data/src/10.7/storage/innobase/row/row0merge.cc:5006
          #4 0x5619a4d60449 in trx_mod_table_time_t::start_bulk_insert(dict_table_t*) /data/src/10.7/storage/innobase/include/trx0trx.h:481
          #5 0x5619a4d5beeb in trx_undo_report_row_operation(que_thr_t*, dict_index_t*, dtuple_t const*, upd_t const*, unsigned long, unsigned char const*, unsigned short const*, unsigned long*) /data/src/10.7/storage/innobase/trx/trx0rec.cc:2056
          #6 0x5619a4bdc210 in row_ins_clust_index_entry_low(unsigned long, unsigned long, dict_index_t*, unsigned long, dtuple_t*, unsigned long, que_thr_t*) /data/src/10.7/storage/innobase/row/row0ins.cc:2674
          #7 0x5619a4bdf589 in row_ins_clust_index_entry(dict_index_t*, dtuple_t*, que_thr_t*, unsigned long) /data/src/10.7/storage/innobase/row/row0ins.cc:3246
          #8 0x5619a4be014e in row_ins_index_entry /data/src/10.7/storage/innobase/row/row0ins.cc:3380
          #9 0x5619a4be12e6 in row_ins_index_entry_step /data/src/10.7/storage/innobase/row/row0ins.cc:3548
          #10 0x5619a4be1dc1 in row_ins /data/src/10.7/storage/innobase/row/row0ins.cc:3694
          #11 0x5619a4be2fd6 in row_ins_step(que_thr_t*) /data/src/10.7/storage/innobase/row/row0ins.cc:3840
          #12 0x5619a4c2d576 in row_insert_for_mysql(unsigned char const*, row_prebuilt_t*, ins_mode_t) /data/src/10.7/storage/innobase/row/row0mysql.cc:1318
          #13 0x5619a4864462 in ha_innobase::write_row(unsigned char const*) /data/src/10.7/storage/innobase/handler/ha_innodb.cc:7826
          #14 0x5619a3eaf634 in handler::ha_write_row(unsigned char const*) /data/src/10.7/sql/handler.cc:7516
          #15 0x5619a39b2061 in TR_table::update(unsigned long long, unsigned long long) /data/src/10.7/sql/table.cc:9711
          #16 0x5619a3e7bda3 in ha_commit_trans(THD*, bool) /data/src/10.7/sql/handler.cc:1764
          #17 0x5619a3e9d7b7 in ha_enable_transaction(THD*, bool) /data/src/10.7/sql/handler.cc:5536
          #18 0x5619a38cb487 in mysql_trans_commit_alter_copy_data(THD*) /data/src/10.7/sql/sql_table.cc:10906
          #19 0x5619a38ceaf5 in copy_data_between_tables /data/src/10.7/sql/sql_table.cc:11273
          #20 0x5619a38c7d49 in mysql_alter_table(THD*, st_mysql_const_lex_string const*, st_mysql_const_lex_string const*, HA_CREATE_INFO*, TABLE_LIST*, Alter_info*, unsigned int, st_order*, bool, bool) /data/src/10.7/sql/sql_table.cc:10453
          #21 0x5619a3a84bdc in Sql_cmd_alter_table::execute(THD*) /data/src/10.7/sql/sql_alter.cc:553
          #22 0x5619a35e61a1 in mysql_execute_command(THD*, bool) /data/src/10.7/sql/sql_parse.cc:5989
          #23 0x5619a35f39c6 in mysql_parse(THD*, char*, unsigned int, Parser_state*) /data/src/10.7/sql/sql_parse.cc:8028
          #24 0x5619a35c9ad5 in dispatch_command(enum_server_command, THD*, char*, unsigned int, bool) /data/src/10.7/sql/sql_parse.cc:1894
          #25 0x5619a35c67f9 in do_command(THD*, bool) /data/src/10.7/sql/sql_parse.cc:1402
          #26 0x5619a3a66dd8 in do_handle_one_connection(CONNECT*, bool) /data/src/10.7/sql/sql_connect.cc:1418
          #27 0x5619a3a66664 in handle_one_connection /data/src/10.7/sql/sql_connect.cc:1312
          #28 0x5619a4659b84 in pfs_spawn_thread /data/src/10.7/storage/perfschema/pfs.cc:2201
          #29 0x7f8ab46a7608 in start_thread /build/glibc-eX1tMB/glibc-2.31/nptl/pthread_create.c:477
       
      Indirect leak of 1024 byte(s) in 4 object(s) allocated from:
          #0 0x7f8ab4d26bc8 in malloc (/lib/x86_64-linux-gnu/libasan.so.5+0x10dbc8)
          #1 0x5619a48c16b2 in ut_allocator<unsigned char, true>::allocate(unsigned long, unsigned char const*, unsigned int, bool, bool) /data/src/10.7/storage/innobase/include/ut0new.h:375
          #2 0x5619a4aaac1b in mem_heap_create_block_func(mem_block_info_t*, unsigned long, char const*, unsigned int, unsigned long) /data/src/10.7/storage/innobase/mem/mem0mem.cc:277
          #3 0x5619a4beb044 in mem_heap_create_func /data/src/10.7/storage/innobase/include/mem0mem.ic:377
          #4 0x5619a4c173fc in row_merge_bulk_t::row_merge_bulk_t(dict_table_t*) /data/src/10.7/storage/innobase/row/row0merge.cc:5005
          #5 0x5619a4d60449 in trx_mod_table_time_t::start_bulk_insert(dict_table_t*) /data/src/10.7/storage/innobase/include/trx0trx.h:481
          #6 0x5619a4d5beeb in trx_undo_report_row_operation(que_thr_t*, dict_index_t*, dtuple_t const*, upd_t const*, unsigned long, unsigned char const*, unsigned short const*, unsigned long*) /data/src/10.7/storage/innobase/trx/trx0rec.cc:2056
          #7 0x5619a4bdc210 in row_ins_clust_index_entry_low(unsigned long, unsigned long, dict_index_t*, unsigned long, dtuple_t*, unsigned long, que_thr_t*) /data/src/10.7/storage/innobase/row/row0ins.cc:2674
          #8 0x5619a4bdf589 in row_ins_clust_index_entry(dict_index_t*, dtuple_t*, que_thr_t*, unsigned long) /data/src/10.7/storage/innobase/row/row0ins.cc:3246
          #9 0x5619a4be014e in row_ins_index_entry /data/src/10.7/storage/innobase/row/row0ins.cc:3380
          #10 0x5619a4be12e6 in row_ins_index_entry_step /data/src/10.7/storage/innobase/row/row0ins.cc:3548
          #11 0x5619a4be1dc1 in row_ins /data/src/10.7/storage/innobase/row/row0ins.cc:3694
          #12 0x5619a4be2fd6 in row_ins_step(que_thr_t*) /data/src/10.7/storage/innobase/row/row0ins.cc:3840
          #13 0x5619a4c2d576 in row_insert_for_mysql(unsigned char const*, row_prebuilt_t*, ins_mode_t) /data/src/10.7/storage/innobase/row/row0mysql.cc:1318
          #14 0x5619a4864462 in ha_innobase::write_row(unsigned char const*) /data/src/10.7/storage/innobase/handler/ha_innodb.cc:7826
          #15 0x5619a3eaf634 in handler::ha_write_row(unsigned char const*) /data/src/10.7/sql/handler.cc:7516
          #16 0x5619a39b2061 in TR_table::update(unsigned long long, unsigned long long) /data/src/10.7/sql/table.cc:9711
          #17 0x5619a3e7bda3 in ha_commit_trans(THD*, bool) /data/src/10.7/sql/handler.cc:1764
          #18 0x5619a3e9d7b7 in ha_enable_transaction(THD*, bool) /data/src/10.7/sql/handler.cc:5536
          #19 0x5619a38cb487 in mysql_trans_commit_alter_copy_data(THD*) /data/src/10.7/sql/sql_table.cc:10906
          #20 0x5619a38ceaf5 in copy_data_between_tables /data/src/10.7/sql/sql_table.cc:11273
          #21 0x5619a38c7d49 in mysql_alter_table(THD*, st_mysql_const_lex_string const*, st_mysql_const_lex_string const*, HA_CREATE_INFO*, TABLE_LIST*, Alter_info*, unsigned int, st_order*, bool, bool) /data/src/10.7/sql/sql_table.cc:10453
          #22 0x5619a3a84bdc in Sql_cmd_alter_table::execute(THD*) /data/src/10.7/sql/sql_alter.cc:553
          #23 0x5619a35e61a1 in mysql_execute_command(THD*, bool) /data/src/10.7/sql/sql_parse.cc:5989
          #24 0x5619a35f39c6 in mysql_parse(THD*, char*, unsigned int, Parser_state*) /data/src/10.7/sql/sql_parse.cc:8028
          #25 0x5619a35c9ad5 in dispatch_command(enum_server_command, THD*, char*, unsigned int, bool) /data/src/10.7/sql/sql_parse.cc:1894
          #26 0x5619a35c67f9 in do_command(THD*, bool) /data/src/10.7/sql/sql_parse.cc:1402
          #27 0x5619a3a66dd8 in do_handle_one_connection(CONNECT*, bool) /data/src/10.7/sql/sql_connect.cc:1418
          #28 0x5619a3a66664 in handle_one_connection /data/src/10.7/sql/sql_connect.cc:1312
          #29 0x5619a4659b84 in pfs_spawn_thread /data/src/10.7/storage/perfschema/pfs.cc:2201
       
      Indirect leak of 616 byte(s) in 1 object(s) allocated from:
          #0 0x7f8ab4d26bc8 in malloc (/lib/x86_64-linux-gnu/libasan.so.5+0x10dbc8)
          #1 0x5619a48c16b2 in ut_allocator<unsigned char, true>::allocate(unsigned long, unsigned char const*, unsigned int, bool, bool) /data/src/10.7/storage/innobase/include/ut0new.h:375
          #2 0x5619a4aaac1b in mem_heap_create_block_func(mem_block_info_t*, unsigned long, char const*, unsigned int, unsigned long) /data/src/10.7/storage/innobase/mem/mem0mem.cc:277
          #3 0x5619a4aab56b in mem_heap_add_block(mem_block_info_t*, unsigned long) /data/src/10.7/storage/innobase/mem/mem0mem.cc:378
          #4 0x5619a4beac6d in mem_heap_alloc /data/src/10.7/storage/innobase/include/mem0mem.ic:193
          #5 0x5619a4bf4f24 in row_merge_bulk_buf_add /data/src/10.7/storage/innobase/row/row0merge.cc:478
          #6 0x5619a4c18659 in row_merge_bulk_t::bulk_insert_buffered(dtuple_t const&, dict_index_t const&, trx_t*) /data/src/10.7/storage/innobase/row/row0merge.cc:5126
          #7 0x5619a4be4820 in trx_mod_table_time_t::bulk_insert_buffered(dtuple_t const&, dict_index_t const&, trx_t*) /data/src/10.7/storage/innobase/include/trx0trx.h:510
          #8 0x5619a4d5bf1b in trx_undo_report_row_operation(que_thr_t*, dict_index_t*, dtuple_t const*, upd_t const*, unsigned long, unsigned char const*, unsigned short const*, unsigned long*) /data/src/10.7/storage/innobase/trx/trx0rec.cc:2058
          #9 0x5619a4bdc210 in row_ins_clust_index_entry_low(unsigned long, unsigned long, dict_index_t*, unsigned long, dtuple_t*, unsigned long, que_thr_t*) /data/src/10.7/storage/innobase/row/row0ins.cc:2674
          #10 0x5619a4bdf589 in row_ins_clust_index_entry(dict_index_t*, dtuple_t*, que_thr_t*, unsigned long) /data/src/10.7/storage/innobase/row/row0ins.cc:3246
          #11 0x5619a4be014e in row_ins_index_entry /data/src/10.7/storage/innobase/row/row0ins.cc:3380
          #12 0x5619a4be12e6 in row_ins_index_entry_step /data/src/10.7/storage/innobase/row/row0ins.cc:3548
          #13 0x5619a4be1dc1 in row_ins /data/src/10.7/storage/innobase/row/row0ins.cc:3694
          #14 0x5619a4be2fd6 in row_ins_step(que_thr_t*) /data/src/10.7/storage/innobase/row/row0ins.cc:3840
          #15 0x5619a4c2d576 in row_insert_for_mysql(unsigned char const*, row_prebuilt_t*, ins_mode_t) /data/src/10.7/storage/innobase/row/row0mysql.cc:1318
          #16 0x5619a4864462 in ha_innobase::write_row(unsigned char const*) /data/src/10.7/storage/innobase/handler/ha_innodb.cc:7826
          #17 0x5619a3eaf634 in handler::ha_write_row(unsigned char const*) /data/src/10.7/sql/handler.cc:7516
          #18 0x5619a39b2061 in TR_table::update(unsigned long long, unsigned long long) /data/src/10.7/sql/table.cc:9711
          #19 0x5619a3e7bda3 in ha_commit_trans(THD*, bool) /data/src/10.7/sql/handler.cc:1764
          #20 0x5619a3e9d7b7 in ha_enable_transaction(THD*, bool) /data/src/10.7/sql/handler.cc:5536
          #21 0x5619a38cb487 in mysql_trans_commit_alter_copy_data(THD*) /data/src/10.7/sql/sql_table.cc:10906
          #22 0x5619a38ceaf5 in copy_data_between_tables /data/src/10.7/sql/sql_table.cc:11273
          #23 0x5619a38c7d49 in mysql_alter_table(THD*, st_mysql_const_lex_string const*, st_mysql_const_lex_string const*, HA_CREATE_INFO*, TABLE_LIST*, Alter_info*, unsigned int, st_order*, bool, bool) /data/src/10.7/sql/sql_table.cc:10453
          #24 0x5619a3a84bdc in Sql_cmd_alter_table::execute(THD*) /data/src/10.7/sql/sql_alter.cc:553
          #25 0x5619a35e61a1 in mysql_execute_command(THD*, bool) /data/src/10.7/sql/sql_parse.cc:5989
          #26 0x5619a35f39c6 in mysql_parse(THD*, char*, unsigned int, Parser_state*) /data/src/10.7/sql/sql_parse.cc:8028
          #27 0x5619a35c9ad5 in dispatch_command(enum_server_command, THD*, char*, unsigned int, bool) /data/src/10.7/sql/sql_parse.cc:1894
          #28 0x5619a35c67f9 in do_command(THD*, bool) /data/src/10.7/sql/sql_parse.cc:1402
          #29 0x5619a3a66dd8 in do_handle_one_connection(CONNECT*, bool) /data/src/10.7/sql/sql_connect.cc:1418
       
      Indirect leak of 248 byte(s) in 1 object(s) allocated from:
          #0 0x7f8ab4d26dc6 in calloc (/lib/x86_64-linux-gnu/libasan.so.5+0x10ddc6)
          #1 0x5619a48c1676 in ut_allocator<unsigned char, true>::allocate(unsigned long, unsigned char const*, unsigned int, bool, bool) /data/src/10.7/storage/innobase/include/ut0new.h:373
          #2 0x5619a4c172ae in row_merge_bulk_t::row_merge_bulk_t(dict_table_t*) /data/src/10.7/storage/innobase/row/row0merge.cc:4996
          #3 0x5619a4d60449 in trx_mod_table_time_t::start_bulk_insert(dict_table_t*) /data/src/10.7/storage/innobase/include/trx0trx.h:481
          #4 0x5619a4d5beeb in trx_undo_report_row_operation(que_thr_t*, dict_index_t*, dtuple_t const*, upd_t const*, unsigned long, unsigned char const*, unsigned short const*, unsigned long*) /data/src/10.7/storage/innobase/trx/trx0rec.cc:2056
          #5 0x5619a4bdc210 in row_ins_clust_index_entry_low(unsigned long, unsigned long, dict_index_t*, unsigned long, dtuple_t*, unsigned long, que_thr_t*) /data/src/10.7/storage/innobase/row/row0ins.cc:2674
          #6 0x5619a4bdf589 in row_ins_clust_index_entry(dict_index_t*, dtuple_t*, que_thr_t*, unsigned long) /data/src/10.7/storage/innobase/row/row0ins.cc:3246
          #7 0x5619a4be014e in row_ins_index_entry /data/src/10.7/storage/innobase/row/row0ins.cc:3380
          #8 0x5619a4be12e6 in row_ins_index_entry_step /data/src/10.7/storage/innobase/row/row0ins.cc:3548
          #9 0x5619a4be1dc1 in row_ins /data/src/10.7/storage/innobase/row/row0ins.cc:3694
          #10 0x5619a4be2fd6 in row_ins_step(que_thr_t*) /data/src/10.7/storage/innobase/row/row0ins.cc:3840
          #11 0x5619a4c2d576 in row_insert_for_mysql(unsigned char const*, row_prebuilt_t*, ins_mode_t) /data/src/10.7/storage/innobase/row/row0mysql.cc:1318
          #12 0x5619a4864462 in ha_innobase::write_row(unsigned char const*) /data/src/10.7/storage/innobase/handler/ha_innodb.cc:7826
          #13 0x5619a3eaf634 in handler::ha_write_row(unsigned char const*) /data/src/10.7/sql/handler.cc:7516
          #14 0x5619a39b2061 in TR_table::update(unsigned long long, unsigned long long) /data/src/10.7/sql/table.cc:9711
          #15 0x5619a3e7bda3 in ha_commit_trans(THD*, bool) /data/src/10.7/sql/handler.cc:1764
          #16 0x5619a3e9d7b7 in ha_enable_transaction(THD*, bool) /data/src/10.7/sql/handler.cc:5536
          #17 0x5619a38cb487 in mysql_trans_commit_alter_copy_data(THD*) /data/src/10.7/sql/sql_table.cc:10906
          #18 0x5619a38ceaf5 in copy_data_between_tables /data/src/10.7/sql/sql_table.cc:11273
          #19 0x5619a38c7d49 in mysql_alter_table(THD*, st_mysql_const_lex_string const*, st_mysql_const_lex_string const*, HA_CREATE_INFO*, TABLE_LIST*, Alter_info*, unsigned int, st_order*, bool, bool) /data/src/10.7/sql/sql_table.cc:10453
          #20 0x5619a3a84bdc in Sql_cmd_alter_table::execute(THD*) /data/src/10.7/sql/sql_alter.cc:553
          #21 0x5619a35e61a1 in mysql_execute_command(THD*, bool) /data/src/10.7/sql/sql_parse.cc:5989
          #22 0x5619a35f39c6 in mysql_parse(THD*, char*, unsigned int, Parser_state*) /data/src/10.7/sql/sql_parse.cc:8028
          #23 0x5619a35c9ad5 in dispatch_command(enum_server_command, THD*, char*, unsigned int, bool) /data/src/10.7/sql/sql_parse.cc:1894
          #24 0x5619a35c67f9 in do_command(THD*, bool) /data/src/10.7/sql/sql_parse.cc:1402
          #25 0x5619a3a66dd8 in do_handle_one_connection(CONNECT*, bool) /data/src/10.7/sql/sql_connect.cc:1418
          #26 0x5619a3a66664 in handle_one_connection /data/src/10.7/sql/sql_connect.cc:1312
          #27 0x5619a4659b84 in pfs_spawn_thread /data/src/10.7/storage/perfschema/pfs.cc:2201
          #28 0x7f8ab46a7608 in start_thread /build/glibc-eX1tMB/glibc-2.31/nptl/pthread_create.c:477
      

      ==3799835== 248 bytes in 1 blocks are indirectly lost in loss record 1 of 7
      ==3799835==    at 0x483DD99: calloc (in /usr/lib/x86_64-linux-gnu/valgrind/vgpreload_memcheck-amd64-linux.so)
      ==3799835==    by 0x12C7B9E: ut_allocator<unsigned char, true>::allocate(unsigned long, unsigned char const*, unsigned int, bool, bool) (ut0new.h:373)
      ==3799835==    by 0x1466447: row_merge_bulk_t::row_merge_bulk_t(dict_table_t*) (row0merge.cc:4996)
      ==3799835==    by 0x150E2C8: trx_mod_table_time_t::start_bulk_insert(dict_table_t*) (trx0trx.h:481)
      ==3799835==    by 0x150BD36: trx_undo_report_row_operation(que_thr_t*, dict_index_t*, dtuple_t const*, upd_t const*, unsigned long, unsigned char const*, unsigned short const*, unsigned long*) (trx0rec.cc:2056)
      ==3799835==    by 0x14477FA: row_ins_clust_index_entry_low(unsigned long, unsigned long, dict_index_t*, unsigned long, dtuple_t*, unsigned long, que_thr_t*) (row0ins.cc:2674)
      ==3799835==    by 0x1449705: row_ins_clust_index_entry(dict_index_t*, dtuple_t*, que_thr_t*, unsigned long) (row0ins.cc:3246)
      ==3799835==    by 0x1449D0B: row_ins_index_entry(dict_index_t*, dtuple_t*, que_thr_t*) (row0ins.cc:3380)
      ==3799835==    by 0x144A5E4: row_ins_index_entry_step(ins_node_t*, que_thr_t*) (row0ins.cc:3548)
      ==3799835==    by 0x144AB06: row_ins(ins_node_t*, que_thr_t*) (row0ins.cc:3694)
      ==3799835==    by 0x144B40F: row_ins_step(que_thr_t*) (row0ins.cc:3840)
      ==3799835==    by 0x147045E: row_insert_for_mysql(unsigned char const*, row_prebuilt_t*, ins_mode_t) (row0mysql.cc:1318)
      ==3799835==    by 0x129F1C0: ha_innobase::write_row(unsigned char const*) (ha_innodb.cc:7826)
      ==3799835==    by 0xE865DA: handler::ha_write_row(unsigned char const*) (handler.cc:7516)
      ==3799835==    by 0xC340AD: TR_table::update(unsigned long long, unsigned long long) (table.cc:9711)
      ==3799835==    by 0xE72DF5: ha_commit_trans(THD*, bool) (handler.cc:1764)
      ==3799835== 256 bytes in 1 blocks are possibly lost in loss record 2 of 7
      ==3799835==    at 0x483B7F3: malloc (in /usr/lib/x86_64-linux-gnu/valgrind/vgpreload_memcheck-amd64-linux.so)
      ==3799835==    by 0x12C7BB6: ut_allocator<unsigned char, true>::allocate(unsigned long, unsigned char const*, unsigned int, bool, bool) (ut0new.h:375)
      ==3799835==    by 0x13A3D9C: mem_heap_create_block_func(mem_block_info_t*, unsigned long, char const*, unsigned int, unsigned long) (mem0mem.cc:277)
      ==3799835==    by 0x144EF8E: mem_heap_create_func(unsigned long, char const*, unsigned int, unsigned long) (mem0mem.ic:377)
      ==3799835==    by 0x14664A4: row_merge_bulk_t::row_merge_bulk_t(dict_table_t*) (row0merge.cc:5005)
      ==3799835==    by 0x150E2C8: trx_mod_table_time_t::start_bulk_insert(dict_table_t*) (trx0trx.h:481)
      ==3799835==    by 0x150BD36: trx_undo_report_row_operation(que_thr_t*, dict_index_t*, dtuple_t const*, upd_t const*, unsigned long, unsigned char const*, unsigned short const*, unsigned long*) (trx0rec.cc:2056)
      ==3799835==    by 0x14477FA: row_ins_clust_index_entry_low(unsigned long, unsigned long, dict_index_t*, unsigned long, dtuple_t*, unsigned long, que_thr_t*) (row0ins.cc:2674)
      ==3799835==    by 0x1449705: row_ins_clust_index_entry(dict_index_t*, dtuple_t*, que_thr_t*, unsigned long) (row0ins.cc:3246)
      ==3799835==    by 0x1449D0B: row_ins_index_entry(dict_index_t*, dtuple_t*, que_thr_t*) (row0ins.cc:3380)
      ==3799835==    by 0x144A5E4: row_ins_index_entry_step(ins_node_t*, que_thr_t*) (row0ins.cc:3548)
      ==3799835==    by 0x144AB06: row_ins(ins_node_t*, que_thr_t*) (row0ins.cc:3694)
      ==3799835==    by 0x144B40F: row_ins_step(que_thr_t*) (row0ins.cc:3840)
      ==3799835==    by 0x147045E: row_insert_for_mysql(unsigned char const*, row_prebuilt_t*, ins_mode_t) (row0mysql.cc:1318)
      ==3799835==    by 0x129F1C0: ha_innobase::write_row(unsigned char const*) (ha_innodb.cc:7826)
      ==3799835==    by 0xE865DA: handler::ha_write_row(unsigned char const*) (handler.cc:7516)
      ==3799835== 616 bytes in 1 blocks are indirectly lost in loss record 3 of 7
      ==3799835==    at 0x483B7F3: malloc (in /usr/lib/x86_64-linux-gnu/valgrind/vgpreload_memcheck-amd64-linux.so)
      ==3799835==    by 0x12C7BB6: ut_allocator<unsigned char, true>::allocate(unsigned long, unsigned char const*, unsigned int, bool, bool) (ut0new.h:375)
      ==3799835==    by 0x13A3D9C: mem_heap_create_block_func(mem_block_info_t*, unsigned long, char const*, unsigned int, unsigned long) (mem0mem.cc:277)
      ==3799835==    by 0x13A4295: mem_heap_add_block(mem_block_info_t*, unsigned long) (mem0mem.cc:378)
      ==3799835==    by 0x144EBD0: mem_heap_alloc(mem_block_info_t*, unsigned long) (mem0mem.ic:193)
      ==3799835==    by 0x1454767: row_merge_bulk_buf_add(row_merge_buf_t*, dict_table_t const&, dtuple_t const&) (row0merge.cc:478)
      ==3799835==    by 0x1466B28: row_merge_bulk_t::bulk_insert_buffered(dtuple_t const&, dict_index_t const&, trx_t*) (row0merge.cc:5126)
      ==3799835==    by 0x144C0A9: trx_mod_table_time_t::bulk_insert_buffered(dtuple_t const&, dict_index_t const&, trx_t*) (trx0trx.h:510)
      ==3799835==    by 0x150BD66: trx_undo_report_row_operation(que_thr_t*, dict_index_t*, dtuple_t const*, upd_t const*, unsigned long, unsigned char const*, unsigned short const*, unsigned long*) (trx0rec.cc:2058)
      ==3799835==    by 0x14477FA: row_ins_clust_index_entry_low(unsigned long, unsigned long, dict_index_t*, unsigned long, dtuple_t*, unsigned long, que_thr_t*) (row0ins.cc:2674)
      ==3799835==    by 0x1449705: row_ins_clust_index_entry(dict_index_t*, dtuple_t*, que_thr_t*, unsigned long) (row0ins.cc:3246)
      ==3799835==    by 0x1449D0B: row_ins_index_entry(dict_index_t*, dtuple_t*, que_thr_t*) (row0ins.cc:3380)
      ==3799835==    by 0x144A5E4: row_ins_index_entry_step(ins_node_t*, que_thr_t*) (row0ins.cc:3548)
      ==3799835==    by 0x144AB06: row_ins(ins_node_t*, que_thr_t*) (row0ins.cc:3694)
      ==3799835==    by 0x144B40F: row_ins_step(que_thr_t*) (row0ins.cc:3840)
      ==3799835==    by 0x147045E: row_insert_for_mysql(unsigned char const*, row_prebuilt_t*, ins_mode_t) (row0mysql.cc:1318)
      ==3799835== 768 bytes in 3 blocks are indirectly lost in loss record 4 of 7
      ==3799835==    at 0x483B7F3: malloc (in /usr/lib/x86_64-linux-gnu/valgrind/vgpreload_memcheck-amd64-linux.so)
      ==3799835==    by 0x12C7BB6: ut_allocator<unsigned char, true>::allocate(unsigned long, unsigned char const*, unsigned int, bool, bool) (ut0new.h:375)
      ==3799835==    by 0x13A3D9C: mem_heap_create_block_func(mem_block_info_t*, unsigned long, char const*, unsigned int, unsigned long) (mem0mem.cc:277)
      ==3799835==    by 0x144EF8E: mem_heap_create_func(unsigned long, char const*, unsigned int, unsigned long) (mem0mem.ic:377)
      ==3799835==    by 0x14664A4: row_merge_bulk_t::row_merge_bulk_t(dict_table_t*) (row0merge.cc:5005)
      ==3799835==    by 0x150E2C8: trx_mod_table_time_t::start_bulk_insert(dict_table_t*) (trx0trx.h:481)
      ==3799835==    by 0x150BD36: trx_undo_report_row_operation(que_thr_t*, dict_index_t*, dtuple_t const*, upd_t const*, unsigned long, unsigned char const*, unsigned short const*, unsigned long*) (trx0rec.cc:2056)
      ==3799835==    by 0x14477FA: row_ins_clust_index_entry_low(unsigned long, unsigned long, dict_index_t*, unsigned long, dtuple_t*, unsigned long, que_thr_t*) (row0ins.cc:2674)
      ==3799835==    by 0x1449705: row_ins_clust_index_entry(dict_index_t*, dtuple_t*, que_thr_t*, unsigned long) (row0ins.cc:3246)
      ==3799835==    by 0x1449D0B: row_ins_index_entry(dict_index_t*, dtuple_t*, que_thr_t*) (row0ins.cc:3380)
      ==3799835==    by 0x144A5E4: row_ins_index_entry_step(ins_node_t*, que_thr_t*) (row0ins.cc:3548)
      ==3799835==    by 0x144AB06: row_ins(ins_node_t*, que_thr_t*) (row0ins.cc:3694)
      ==3799835==    by 0x144B40F: row_ins_step(que_thr_t*) (row0ins.cc:3840)
      ==3799835==    by 0x147045E: row_insert_for_mysql(unsigned char const*, row_prebuilt_t*, ins_mode_t) (row0mysql.cc:1318)
      ==3799835==    by 0x129F1C0: ha_innobase::write_row(unsigned char const*) (ha_innodb.cc:7826)
      ==3799835==    by 0xE865DA: handler::ha_write_row(unsigned char const*) (handler.cc:7516)
      ==3799835== 1,118,504 bytes in 1 blocks are possibly lost in loss record 5 of 7
      ==3799835==    at 0x483B7F3: malloc (in /usr/lib/x86_64-linux-gnu/valgrind/vgpreload_memcheck-amd64-linux.so)
      ==3799835==    by 0x12C7BB6: ut_allocator<unsigned char, true>::allocate(unsigned long, unsigned char const*, unsigned int, bool, bool) (ut0new.h:375)
      ==3799835==    by 0x14541A7: row_merge_buf_create_low(row_merge_buf_t*, mem_block_info_t*, dict_index_t*) (row0merge.cc:344)
      ==3799835==    by 0x14664D7: row_merge_bulk_t::row_merge_bulk_t(dict_table_t*) (row0merge.cc:5006)
      ==3799835==    by 0x150E2C8: trx_mod_table_time_t::start_bulk_insert(dict_table_t*) (trx0trx.h:481)
      ==3799835==    by 0x150BD36: trx_undo_report_row_operation(que_thr_t*, dict_index_t*, dtuple_t const*, upd_t const*, unsigned long, unsigned char const*, unsigned short const*, unsigned long*) (trx0rec.cc:2056)
      ==3799835==    by 0x14477FA: row_ins_clust_index_entry_low(unsigned long, unsigned long, dict_index_t*, unsigned long, dtuple_t*, unsigned long, que_thr_t*) (row0ins.cc:2674)
      ==3799835==    by 0x1449705: row_ins_clust_index_entry(dict_index_t*, dtuple_t*, que_thr_t*, unsigned long) (row0ins.cc:3246)
      ==3799835==    by 0x1449D0B: row_ins_index_entry(dict_index_t*, dtuple_t*, que_thr_t*) (row0ins.cc:3380)
      ==3799835==    by 0x144A5E4: row_ins_index_entry_step(ins_node_t*, que_thr_t*) (row0ins.cc:3548)
      ==3799835==    by 0x144AB06: row_ins(ins_node_t*, que_thr_t*) (row0ins.cc:3694)
      ==3799835==    by 0x144B40F: row_ins_step(que_thr_t*) (row0ins.cc:3840)
      ==3799835==    by 0x147045E: row_insert_for_mysql(unsigned char const*, row_prebuilt_t*, ins_mode_t) (row0mysql.cc:1318)
      ==3799835==    by 0x129F1C0: ha_innobase::write_row(unsigned char const*) (ha_innodb.cc:7826)
      ==3799835==    by 0xE865DA: handler::ha_write_row(unsigned char const*) (handler.cc:7516)
      ==3799835==    by 0xC340AD: TR_table::update(unsigned long long, unsigned long long) (table.cc:9711)
      ==3799835== 2,548,424 bytes in 3 blocks are indirectly lost in loss record 6 of 7
      ==3799835==    at 0x483B7F3: malloc (in /usr/lib/x86_64-linux-gnu/valgrind/vgpreload_memcheck-amd64-linux.so)
      ==3799835==    by 0x12C7BB6: ut_allocator<unsigned char, true>::allocate(unsigned long, unsigned char const*, unsigned int, bool, bool) (ut0new.h:375)
      ==3799835==    by 0x14541A7: row_merge_buf_create_low(row_merge_buf_t*, mem_block_info_t*, dict_index_t*) (row0merge.cc:344)
      ==3799835==    by 0x14664D7: row_merge_bulk_t::row_merge_bulk_t(dict_table_t*) (row0merge.cc:5006)
      ==3799835==    by 0x150E2C8: trx_mod_table_time_t::start_bulk_insert(dict_table_t*) (trx0trx.h:481)
      ==3799835==    by 0x150BD36: trx_undo_report_row_operation(que_thr_t*, dict_index_t*, dtuple_t const*, upd_t const*, unsigned long, unsigned char const*, unsigned short const*, unsigned long*) (trx0rec.cc:2056)
      ==3799835==    by 0x14477FA: row_ins_clust_index_entry_low(unsigned long, unsigned long, dict_index_t*, unsigned long, dtuple_t*, unsigned long, que_thr_t*) (row0ins.cc:2674)
      ==3799835==    by 0x1449705: row_ins_clust_index_entry(dict_index_t*, dtuple_t*, que_thr_t*, unsigned long) (row0ins.cc:3246)
      ==3799835==    by 0x1449D0B: row_ins_index_entry(dict_index_t*, dtuple_t*, que_thr_t*) (row0ins.cc:3380)
      ==3799835==    by 0x144A5E4: row_ins_index_entry_step(ins_node_t*, que_thr_t*) (row0ins.cc:3548)
      ==3799835==    by 0x144AB06: row_ins(ins_node_t*, que_thr_t*) (row0ins.cc:3694)
      ==3799835==    by 0x144B40F: row_ins_step(que_thr_t*) (row0ins.cc:3840)
      ==3799835==    by 0x147045E: row_insert_for_mysql(unsigned char const*, row_prebuilt_t*, ins_mode_t) (row0mysql.cc:1318)
      ==3799835==    by 0x129F1C0: ha_innobase::write_row(unsigned char const*) (ha_innodb.cc:7826)
      ==3799835==    by 0xE865DA: handler::ha_write_row(unsigned char const*) (handler.cc:7516)
      ==3799835==    by 0xC340AD: TR_table::update(unsigned long long, unsigned long long) (table.cc:9711)
      ==3799835== 2,550,160 (104 direct, 2,550,056 indirect) bytes in 1 blocks are definitely lost in loss record 7 of 7
      ==3799835==    at 0x483BE63: operator new(unsigned long) (in /usr/lib/x86_64-linux-gnu/valgrind/vgpreload_memcheck-amd64-linux.so)
      ==3799835==    by 0x150E2B6: trx_mod_table_time_t::start_bulk_insert(dict_table_t*) (trx0trx.h:481)
      ==3799835==    by 0x150BD36: trx_undo_report_row_operation(que_thr_t*, dict_index_t*, dtuple_t const*, upd_t const*, unsigned long, unsigned char const*, unsigned short const*, unsigned long*) (trx0rec.cc:2056)
      ==3799835==    by 0x14477FA: row_ins_clust_index_entry_low(unsigned long, unsigned long, dict_index_t*, unsigned long, dtuple_t*, unsigned long, que_thr_t*) (row0ins.cc:2674)
      ==3799835==    by 0x1449705: row_ins_clust_index_entry(dict_index_t*, dtuple_t*, que_thr_t*, unsigned long) (row0ins.cc:3246)
      ==3799835==    by 0x1449D0B: row_ins_index_entry(dict_index_t*, dtuple_t*, que_thr_t*) (row0ins.cc:3380)
      ==3799835==    by 0x144A5E4: row_ins_index_entry_step(ins_node_t*, que_thr_t*) (row0ins.cc:3548)
      ==3799835==    by 0x144AB06: row_ins(ins_node_t*, que_thr_t*) (row0ins.cc:3694)
      ==3799835==    by 0x144B40F: row_ins_step(que_thr_t*) (row0ins.cc:3840)
      ==3799835==    by 0x147045E: row_insert_for_mysql(unsigned char const*, row_prebuilt_t*, ins_mode_t) (row0mysql.cc:1318)
      ==3799835==    by 0x129F1C0: ha_innobase::write_row(unsigned char const*) (ha_innodb.cc:7826)
      ==3799835==    by 0xE865DA: handler::ha_write_row(unsigned char const*) (handler.cc:7516)
      ==3799835==    by 0xC340AD: TR_table::update(unsigned long long, unsigned long long) (table.cc:9711)
      ==3799835==    by 0xE72DF5: ha_commit_trans(THD*, bool) (handler.cc:1764)
      ==3799835==    by 0xE7FD55: ha_enable_transaction(THD*, bool) (handler.cc:5536)
      ==3799835==    by 0xBD88E4: mysql_trans_commit_alter_copy_data(THD*) (sql_table.cc:10906)
      

      Couldn't reproduce right away with non-transactional (timestamp-based) system versioning, with other kinds of ALTERs, or without application versioning involved.

      The failure started happening in 10.7 after this commit

      commit 045757af4c301757ba449269351cc27b1691a7d6 c8e309a6ac7b001db41bc0d00458ddb175557e08
      Author: Thirunarayanan Balathandayuthapani
      Date:   Fri Oct 22 17:32:18 2021 +0300
       
          MDEV-24621 In bulk insert, pre-sort and build indexes one page at a time
      

      Attachments

        Issue Links

          Activity

            People

              thiru Thirunarayanan Balathandayuthapani
              elenst Elena Stepanova
              Votes:
              0 Vote for this issue
              Watchers:
              1 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.