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

rec_get_converted_size_comp_prefix_low: Conditional jump or move depends on uninitialised value upon adding FULLTEXT index

    Details

      Description

      --source include/have_innodb.inc
       
      CREATE TABLE t1 (c CHAR(255)) ENGINE=InnoDB;
      INSERT INTO t1 VALUES ('alternative'),('minds');
      ALTER TABLE t1 ADD FULLTEXT INDEX (c);
       
      # Cleanup
      DROP TABLE t1;
      

      10.4 bb970dda Valgrind

      ==5989== Thread 29:
      ==5989== Conditional jump or move depends on uninitialised value(s)
      ==5989==    at 0x106EF79: unsigned long rec_get_converted_size_comp_prefix_low<false>(dict_index_t const*, dfield_t const*, unsigned long, unsigned long*, rec_comp_status_t, bool) (rem0rec.cc:1191)
      ==5989==    by 0x106A179: rec_get_converted_size_temp(dict_index_t const*, dfield_t const*, unsigned long, unsigned long*, rec_comp_status_t) (rem0rec.cc:1796)
      ==5989==    by 0x109F2FC: row_merge_buf_encode(unsigned char**, dict_index_t const*, mtuple_t const*, unsigned long) (row0merge.cc:317)
      ==5989==    by 0x10A1397: row_merge_buf_write(row_merge_buf_t const*, merge_file_t const*, unsigned char*) (row0merge.cc:1021)
      ==5989==    by 0x1076905: fts_parallel_tokenization(void*) (row0ftsort.cc:963)
      ==5989==    by 0x4E3F493: start_thread (pthread_create.c:333)
      ==5989==    by 0x6A9A93E: clone (clone.S:97)
      ==5989== Conditional jump or move depends on uninitialised value(s)
      ==5989==    at 0x106F3AF: unsigned long rec_get_converted_size_comp_prefix_low<false>(dict_index_t const*, dfield_t const*, unsigned long, unsigned long*, rec_comp_status_t, bool) (rem0rec.cc:1235)
      ==5989==    by 0x106A179: rec_get_converted_size_temp(dict_index_t const*, dfield_t const*, unsigned long, unsigned long*, rec_comp_status_t) (rem0rec.cc:1796)
      ==5989==    by 0x109F2FC: row_merge_buf_encode(unsigned char**, dict_index_t const*, mtuple_t const*, unsigned long) (row0merge.cc:317)
      ==5989==    by 0x10A1397: row_merge_buf_write(row_merge_buf_t const*, merge_file_t const*, unsigned char*) (row0merge.cc:1021)
      ==5989==    by 0x1076905: fts_parallel_tokenization(void*) (row0ftsort.cc:963)
      ==5989==    by 0x4E3F493: start_thread (pthread_create.c:333)
      ==5989==    by 0x6A9A93E: clone (clone.S:97)
      

      Not reproducible on 10.3.
      Nothing obvious happens on non-valgrind builds (debug, ASAN, relwithdebinfo).

        Attachments

          Activity

            People

            • Assignee:
              marko Marko Mäkelä
              Reporter:
              elenst Elena Stepanova
            • Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: