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

Field::error_generated_column_function_is_not_allowed: Conditional jump or move depends on uninitialised value

    XMLWordPrintable

    Details

    • Type: Bug
    • Status: Open (View Workflow)
    • Priority: Major
    • Resolution: Unresolved
    • Affects Version/s: 10.4, 10.5
    • Fix Version/s: 10.4, 10.5
    • Component/s: Tests, Virtual Columns
    • Labels:
    • Environment:
      gcc (Debian 6.3.0-18+deb9u1) valgrind-3.12.0.SVN

      Description

      $ perl ./mtr vcol.vcol_sql_mode_timestamp --valgrind 
      

      10.4 c1bdf624 Valgrind

      vcol.vcol_sql_mode_timestamp             [ fail ]  Found warnings/errors in server log file!
              Test ended at 2020-04-14 22:24:24
      line
      ==22353== Thread 6:
      ==22353== Conditional jump or move depends on uninitialised value(s)
      ==22353==    at 0x81C452: Binary_string::c_ptr() (sql_string.h:584)
      ==22353==    by 0xC4F7AC: Field::error_generated_column_function_is_not_allowed(THD*, bool) const (field.cc:1393)
      ==22353==    by 0xC4FA04: Field::check_vcol_sql_mode_dependency(THD*, vcol_init_mode) const (field.cc:1418)
      ==22353==    by 0xA4353F: parse_vcol_defs(THD*, st_mem_root*, TABLE*, bool*, vcol_init_mode) (table.cc:1170)
      ==22353==    by 0xA4D384: open_table_from_share(THD*, TABLE_SHARE*, st_mysql_const_lex_string const*, unsigned int, unsigned int, unsigned int, TABLE*, bool, List<String>*) (table.cc:3816)
      ==22353==    by 0xC9A00D: ha_create_table(THD*, char const*, char const*, char const*, HA_CREATE_INFO*, st_mysql_const_unsigned_lex_string*) (handler.cc:5187)
      ==22353==    by 0xA02E8D: create_table_impl(THD*, st_mysql_const_lex_string const&, st_mysql_const_lex_string const&, st_mysql_const_lex_string const&, st_mysql_const_lex_string const&, char const*, DDL_options_st, HA_CREATE_INFO*, Alter_info*, int, bool*, st_key**, unsigned int*, st_mysql_const_unsigned_lex_string*) (sql_table.cc:5073)
      ==22353==    by 0xA032D3: mysql_create_table_no_lock(THD*, st_mysql_const_lex_string const*, st_mysql_const_lex_string const*, Table_specification_st*, Alter_info*, bool*, int, TABLE_LIST*) (sql_table.cc:5160)
      ==22353==    by 0xA036D5: mysql_create_table(THD*, TABLE_LIST*, Table_specification_st*, Alter_info*) (sql_table.cc:5249)
      ==22353==    by 0xA15C9F: Sql_cmd_create_table_like::execute(THD*) (sql_table.cc:11469)
      ==22353==    by 0x925596: mysql_execute_command(THD*) (sql_parse.cc:6101)
      ==22353==    by 0x92AC58: mysql_parse(THD*, char*, unsigned int, Parser_state*, bool, bool) (sql_parse.cc:7900)
      ==22353==    by 0x915CD7: dispatch_command(enum_server_command, THD*, char*, unsigned int, bool, bool) (sql_parse.cc:1842)
      ==22353==    by 0x914364: do_command(THD*) (sql_parse.cc:1360)
      ==22353==    by 0xAA3A12: do_handle_one_connection(CONNECT*) (sql_connect.cc:1412)
      ==22353==    by 0xAA3761: handle_one_connection (sql_connect.cc:1316)
      ==22353== Conditional jump or move depends on uninitialised value(s)
      ==22353==    at 0x4C2ED5C: strnlen (vg_replace_strmem.c:421)
      ==22353==    by 0x15EBD68: process_str_arg (my_vsnprintf.c:205)
      ==22353==    by 0x15ED85A: my_vsnprintf_ex (my_vsnprintf.c:626)
      ==22353==    by 0x156E726: my_error (my_error.c:121)
      ==22353==    by 0xC4F7DC: Field::error_generated_column_function_is_not_allowed(THD*, bool) const (field.cc:1396)
      ==22353==    by 0xC4FA04: Field::check_vcol_sql_mode_dependency(THD*, vcol_init_mode) const (field.cc:1418)
      ==22353==    by 0xA4353F: parse_vcol_defs(THD*, st_mem_root*, TABLE*, bool*, vcol_init_mode) (table.cc:1170)
      ==22353==    by 0xA4D384: open_table_from_share(THD*, TABLE_SHARE*, st_mysql_const_lex_string const*, unsigned int, unsigned int, unsigned int, TABLE*, bool, List<String>*) (table.cc:3816)
      ==22353==    by 0xC9A00D: ha_create_table(THD*, char const*, char const*, char const*, HA_CREATE_INFO*, st_mysql_const_unsigned_lex_string*) (handler.cc:5187)
      ==22353==    by 0xA02E8D: create_table_impl(THD*, st_mysql_const_lex_string const&, st_mysql_const_lex_string const&, st_mysql_const_lex_string const&, st_mysql_const_lex_string const&, char const*, DDL_options_st, HA_CREATE_INFO*, Alter_info*, int, bool*, st_key**, unsigned int*, st_mysql_const_unsigned_lex_string*) (sql_table.cc:5073)
      ==22353==    by 0xA032D3: mysql_create_table_no_lock(THD*, st_mysql_const_lex_string const*, st_mysql_const_lex_string const*, Table_specification_st*, Alter_info*, bool*, int, TABLE_LIST*) (sql_table.cc:5160)
      ==22353==    by 0xA036D5: mysql_create_table(THD*, TABLE_LIST*, Table_specification_st*, Alter_info*) (sql_table.cc:5249)
      ==22353==    by 0xA15C9F: Sql_cmd_create_table_like::execute(THD*) (sql_table.cc:11469)
      ==22353==    by 0x925596: mysql_execute_command(THD*) (sql_parse.cc:6101)
      ==22353==    by 0x92AC58: mysql_parse(THD*, char*, unsigned int, Parser_state*, bool, bool) (sql_parse.cc:7900)
      ==22353==    by 0x915CD7: dispatch_command(enum_server_command, THD*, char*, unsigned int, bool, bool) (sql_parse.cc:1842)
      ^ Found warnings in /dev/shm/var_valgrind/log/mysqld.1.err
      ok
      

      There are other tests failing the same way. See MDEV-20377 for more information, but probably it doesn't have the complete list either.

        Attachments

          Issue Links

            Activity

              People

              Assignee:
              nikitamalyavin Nikita Malyavin
              Reporter:
              elenst Elena Stepanova
              Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

                Dates

                Created:
                Updated: