Uploaded image for project: 'Percona Server'
  1. Percona Server
  2. PS-5233

Memory leak in InnoDB temporary file encryption

    Details

    • Type: Bug
    • Status: On Hold
    • Priority: Medium
    • Resolution: Unresolved
    • Affects Version/s: 5.7, Not 8.0
    • Fix Version/s: None
    • Component/s: None

      Description

      Valgrind innodb_row_log_encryption testcase:

      123 bytes in 1 blocks are definitely lost in loss record 1 of 3
         at 0x483767F: malloc (vg_replace_malloc.c:298)
         by 0x1AC76A1: ut_allocator<unsigned char>::allocate(unsigned long, unsigned char const*, char const*, bool, bool) (ut0new.h:359)
         by 0x1E40F5F: fil_make_filepath(char const*, char const*, ib_extention, bool) (fil0fil.cc:3452)
         by 0x1C2813B: row_merge_file_create_low(char const*) (row0merge.cc:3872)
         by 0x1C4E267: row_log_tmpfile(row_log_t*) (row0log.cc:381)
         by 0x1C4ECF4: row_log_online_op(dict_index_t*, dtuple_t const*, unsigned long) (row0log.cc:541)
         by 0x1C09A6A: row_log_online_op_try(dict_index_t*, dtuple_t const*, unsigned long) (row0log.ic:71)
         by 0x1C132C7: row_ins_sec_index_entry_low(unsigned long, unsigned long, dict_index_t*, mem_block_info_t*, mem_block_info_t*, dtuple_t*, unsigned long, que_thr_t*, bool) (row0ins.cc:2958)
         by 0x1C14A72: row_ins_sec_index_entry(dict_index_t*, dtuple_t*, que_thr_t*, bool) (row0ins.cc:3444)
         by 0x1C14C1F: row_ins_index_entry(dict_index_t*, dtuple_t*, que_thr_t*) (row0ins.cc:3495)
         by 0x1C1518F: row_ins_index_entry_step(ins_node_t*, que_thr_t*) (row0ins.cc:3643)
         by 0x1C1554B: row_ins(ins_node_t*, que_thr_t*) (row0ins.cc:3785)
         by 0x1C15B88: row_ins_step(que_thr_t*) (row0ins.cc:3970)
         by 0x1C3994A: row_insert_for_mysql_using_ins_graph(unsigned char const*, row_prebuilt_t*) (row0mysql.cc:2324)
         by 0x1C39F3C: row_insert_for_mysql(unsigned char const*, row_prebuilt_t*) (row0mysql.cc:2447)
         by 0x1AA6922: ha_innobase::write_row(unsigned char*) (ha_innodb.cc:8707)
      
      246 bytes in 2 blocks are definitely lost in loss record 2 of 3
         at 0x483767F: malloc (vg_replace_malloc.c:298)
         by 0x1AC76A1: ut_allocator<unsigned char>::allocate(unsigned long, unsigned char const*, char const*, bool, bool) (ut0new.h:359)
         by 0x1E40F5F: fil_make_filepath(char const*, char const*, ib_extention, bool) (fil0fil.cc:3452)
         by 0x1C2813B: row_merge_file_create_low(char const*) (row0merge.cc:3872)
         by 0x1C282BA: row_merge_file_create(merge_file_t*, char const*) (row0merge.cc:3909)
         by 0x1C21ACD: row_merge_file_create_if_needed(merge_file_t*, int*, unsigned long, char const*) (row0merge.cc:1541)
         by 0x1C2429C: row_merge_read_clustered_index(trx_t*, TABLE*, dict_table_t const*, dict_table_t const*, bool, dict_index_t**, dict_index_t*, fts_psort_t*, merge_file_t*, unsigned long const*, unsigned long, dtuple_t const*, dict_add_v_col_t const*, unsigned long const*, unsigned long, ib_sequence_t&, unsigned char*, unsigned char*, bool, int*, ut_stage_alter_t*, TABLE*, row_prebuilt_t*) (row0merge.cc:2529)
         by 0x1C29D83: row_merge_build_indexes(trx_t*, dict_table_t*, dict_table_t*, bool, dict_index_t**, unsigned long const*, unsigned long, TABLE*, dtuple_t const*, unsigned long const*, unsigned long, ib_sequence_t&, bool, ut_stage_alter_t*, dict_add_v_col_t const*, TABLE*, row_prebuilt_t*) (row0merge.cc:4588)
         by 0x1AFA929: ha_innobase::inplace_alter_table(TABLE*, Alter_inplace_info*) (handler0alter.cc:6519)
         by 0xEE27DC: handler::ha_inplace_alter_table(TABLE*, Alter_inplace_info*) (handler.h:3673)
         by 0x161DD75: mysql_inplace_alter_table(THD*, TABLE_LIST*, TABLE*, TABLE*, Alter_inplace_info*, enum_alter_inplace_result, MDL_request*, Alter_table_ctx*) (sql_table.cc:7866)
         by 0x1623EDA: mysql_alter_table(THD*, char const*, char const*, st_ha_create_information*, TABLE_LIST*, Alter_info*) (sql_table.cc:10314)
         by 0x18430B5: Sql_cmd_alter_table::execute(THD*) (sql_alter.cc:348)
         by 0x157DD31: mysql_execute_command(THD*, bool) (sql_parse.cc:5130)
         by 0x1580202: mysql_parse(THD*, Parser_state*, bool) (sql_parse.cc:5899)
         by 0x157416E: dispatch_command(THD*, COM_DATA const*, enum_server_command) (sql_parse.cc:1528)
      
      246 bytes in 2 blocks are definitely lost in loss record 3 of 3
         at 0x483767F: malloc (vg_replace_malloc.c:298)
         by 0x1AC76A1: ut_allocator<unsigned char>::allocate(unsigned long, unsigned char const*, char const*, bool, bool) (ut0new.h:359)
         by 0x1E40F5F: fil_make_filepath(char const*, char const*, ib_extention, bool) (fil0fil.cc:3452)
         by 0x1C2813B: row_merge_file_create_low(char const*) (row0merge.cc:3872)
         by 0x1C219E2: row_merge_tmpfile_if_needed(int*, char const*) (row0merge.cc:1518)
         by 0x1C21B58: row_merge_file_create_if_needed(merge_file_t*, int*, unsigned long, char const*) (row0merge.cc:1543)
         by 0x1C2429C: row_merge_read_clustered_index(trx_t*, TABLE*, dict_table_t const*, dict_table_t const*, bool, dict_index_t**, dict_index_t*, fts_psort_t*, merge_file_t*, unsigned long const*, unsigned long, dtuple_t const*, dict_add_v_col_t const*, unsigned long const*, unsigned long, ib_sequence_t&, unsigned char*, unsigned char*, bool, int*, ut_stage_alter_t*, TABLE*, row_prebuilt_t*) (row0merge.cc:2529)
         by 0x1C29D83: row_merge_build_indexes(trx_t*, dict_table_t*, dict_table_t*, bool, dict_index_t**, unsigned long const*, unsigned long, TABLE*, dtuple_t const*, unsigned long const*, unsigned long, ib_sequence_t&, bool, ut_stage_alter_t*, dict_add_v_col_t const*, TABLE*, row_prebuilt_t*) (row0merge.cc:4588)
         by 0x1AFA929: ha_innobase::inplace_alter_table(TABLE*, Alter_inplace_info*) (handler0alter.cc:6519)
         by 0xEE27DC: handler::ha_inplace_alter_table(TABLE*, Alter_inplace_info*) (handler.h:3673)
         by 0x161DD75: mysql_inplace_alter_table(THD*, TABLE_LIST*, TABLE*, TABLE*, Alter_inplace_info*, enum_alter_inplace_result, MDL_request*, Alter_table_ctx*) (sql_table.cc:7866)
         by 0x1623EDA: mysql_alter_table(THD*, char const*, char const*, st_ha_create_information*, TABLE_LIST*, Alter_info*) (sql_table.cc:10314)
         by 0x18430B5: Sql_cmd_alter_table::execute(THD*) (sql_alter.cc:348)
         by 0x157DD31: mysql_execute_command(THD*, bool) (sql_parse.cc:5130)
         by 0x1580202: mysql_parse(THD*, Parser_state*, bool) (sql_parse.cc:5899)
         by 0x157416E: dispatch_command(THD*, COM_DATA const*, enum_server_command) (sql_parse.cc:1528)
      

        Smart Checklist

          Attachments

            Activity

              People

              • Assignee:
                Unassigned
                Reporter:
                laurynas.biveinis Laurynas Biveinis
              • Votes:
                0 Vote for this issue
                Watchers:
                1 Start watching this issue

                Dates

                • Created:
                  Updated: