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

[Draft] LeakSanitizer errors in rec_copy_prefix_to_buf

    XMLWordPrintable

Details

    • Bug
    • Status: Open (View Workflow)
    • Major
    • Resolution: Unresolved
    • 11.4, 11.8, 12.2
    • N/A
    • None
    • gcc 12.2.0-14 libasan8

    Description

      Reproducible on 11.4 and up (including older 11.4 releases), needs cleaning.

      # Search pattern(s): (?^s:rec_copy_prefix_to_buf)
       
      --source include/have_innodb.inc
      --source include/have_innodb_4k.inc
       
      CREATE DATABASE IF NOT EXISTS full_text_search_db;
      CREATE TABLE full_text_search_db.stopword (value VARCHAR(183)) ENGINE=InnoDB WITH SYSTEM VERSIONING;
      USE full_text_search_db;
      ALTER TABLE stopword ADD FULLTEXT INDEX idx_0 (value);
      INSERT INTO stopword (value) VALUES ('limit');
      REPLACE INTO full_text_search_db.stopword (value) VALUES (255);
      INSERT IGNORE INTO full_text_search_db.stopword () VALUES (),(),(),(),(),();
      REPLACE INTO full_text_search_db.stopword () VALUES (),(),(),(),(),(),();
      UPDATE IGNORE full_text_search_db.stopword SET value = NULL;
      REPLACE INTO full_text_search_db.stopword () VALUES (),(),(),(),(),();
      PREPARE stmt_4 FROM " UPDATE IGNORE full_text_search_db.stopword SET value = ? LIMIT ? ";
      EXECUTE stmt_4 USING NULL, 40;
      INSERT INTO stopword (value) VALUES ('terrific');
      INSERT INTO stopword (value) VALUES ('constantly');
      INSERT INTO stopword (value) VALUES ('if');
      EXECUTE stmt_4 USING NULL, 43;
      UPDATE IGNORE full_text_search_db.stopword SET value = 's';
      EXECUTE stmt_4 USING 83, 135;
      EXECUTE stmt_4 USING 'p', 204;
      EXECUTE stmt_4 USING 's', 97;
      ALTER ONLINE TABLE IF EXISTS full_text_search_db.stopword ADD INDEX(value), ALGORITHM=COPY;
      --error ER_UNKNOWN_OPTION
      ALTER IGNORE TABLE IF EXISTS full_text_search_db.stopword FORCE, LOCK=DEFAULT;
      

      11.4 ca39e66060d4735f91fd46d9784b4c91ed6746aa

      ==1822832==ERROR: LeakSanitizer: detected memory leaks
       
      Direct leak of 50 byte(s) in 1 object(s) allocated from:
          #0 0x7f39e74b89cf in __interceptor_malloc ../../../../src/libsanitizer/asan/asan_malloc_linux.cpp:69
          #1 0x557bdbd86a83 in ut_allocator<unsigned char, true>::allocate(unsigned long, unsigned char const*, unsigned int, bool, bool) /data/bld/11.4-asan-ubsan/storage/innobase/include/ut0new.h:374
          #2 0x557bdc1fbfae in rec_copy_prefix_to_buf(unsigned char const*, dict_index_t const*, unsigned long, unsigned char**, unsigned long*) /data/bld/11.4-asan-ubsan/storage/innobase/rem/rem0rec.cc:2092
          #3 0x557bdc5d8414 in btr_pcur_store_position(btr_pcur_t*, mtr_t*) /data/bld/11.4-asan-ubsan/storage/innobase/btr/btr0pcur.cc:172
          #4 0x557bdc5dd119 in btr_pcur_move_backward_from_page /data/bld/11.4-asan-ubsan/storage/innobase/btr/btr0pcur.cc:561
          #5 0x557bdc5ddbf4 in btr_pcur_move_to_prev(btr_pcur_t*, mtr_t*) /data/bld/11.4-asan-ubsan/storage/innobase/btr/btr0pcur.cc:622
          #6 0x557bdc8aec16 in fts_get_max_doc_id(dict_table_t*) /data/bld/11.4-asan-ubsan/storage/innobase/fts/fts0fts.cc:3678
          #7 0x557bdc206db1 in row_merge_create_fts_sort_index(dict_index_t*, dict_table_t*, unsigned long*) /data/bld/11.4-asan-ubsan/storage/innobase/row/row0ftsort.cc:135
          #8 0x557bdc2c83cd in 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*, bool, std::__debug::map<unsigned int, dict_col_t*, std::less<unsigned int>, std::allocator<std::pair<unsigned int const, dict_col_t*> > > const*) /data/bld/11.4-asan-ubsan/storage/innobase/row/row0merge.cc:4721
          #9 0x557bdbe2f3b5 in ha_innobase::inplace_alter_table(TABLE*, Alter_inplace_info*) /data/bld/11.4-asan-ubsan/storage/innobase/handler/handler0alter.cc:8974
          #10 0x557bd9bbaa43 in handler::ha_inplace_alter_table(TABLE*, Alter_inplace_info*) /data/bld/11.4-asan-ubsan/sql/handler.h:4955
          #11 0x557bd9bbaa43 in mysql_inplace_alter_table /data/bld/11.4-asan-ubsan/sql/sql_table.cc:8132
          #12 0x557bd9bd3659 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/bld/11.4-asan-ubsan/sql/sql_table.cc:11563
          #13 0x557bd9ef616d in Sql_cmd_alter_table::execute(THD*) /data/bld/11.4-asan-ubsan/sql/sql_alter.cc:701
          #14 0x557bd9681fdf in mysql_execute_command(THD*, bool) /data/bld/11.4-asan-ubsan/sql/sql_parse.cc:5916
          #15 0x557bd9686bf5 in mysql_parse(THD*, char*, unsigned int, Parser_state*) /data/bld/11.4-asan-ubsan/sql/sql_parse.cc:7945
          #16 0x557bd968ffe5 in dispatch_command(enum_server_command, THD*, char*, unsigned int, bool) /data/bld/11.4-asan-ubsan/sql/sql_parse.cc:1923
          #17 0x557bd969ccee in do_command(THD*, bool) /data/bld/11.4-asan-ubsan/sql/sql_parse.cc:1433
          #18 0x557bd9ec5acf in do_handle_one_connection(CONNECT*, bool) /data/bld/11.4-asan-ubsan/sql/sql_connect.cc:1497
          #19 0x557bd9ec6c2c in handle_one_connection /data/bld/11.4-asan-ubsan/sql/sql_connect.cc:1409
          #20 0x557bdb916df0 in pfs_spawn_thread /data/bld/11.4-asan-ubsan/storage/perfschema/pfs.cc:2201
          #21 0x7f39e60a81c3 in start_thread nptl/pthread_create.c:442
       
      SUMMARY: AddressSanitizer: 50 byte(s) leaked in 1 allocation(s).
      

      Attachments

        Activity

          People

            elenst Elena Stepanova
            elenst Elena Stepanova
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

              Created:
              Updated:

              Git Integration

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