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

Valgrind warnings (Conditional jump or move depends on uninitialised value) in err_conv with dynamic columns

Details

    • Bug
    • Status: Closed (View Workflow)
    • Minor
    • Resolution: Cannot Reproduce
    • 10.0.4
    • N/A
    • Dynamic Columns
    • None

    Description

      CREATE TABLE t1 (dyncol TINYBLOB NOT NULL) ENGINE=MyISAM;
      INSERT INTO t1 SET dyncol = COLUMN_CREATE( 4, 3, 3, REPEAT('a',290) );
      SELECT COLUMN_GET( dyncol, 3 AS DATE ) FROM t1;

      ==9945== Conditional jump or move depends on uninitialised value(s)
      ==9945==    at 0x5F928B: err_conv(char*, unsigned int, char const*, unsigned int, charset_info_st const*) (sql_error.cc:775)
      ==9945==    by 0x5848F8: ErrConvString::ptr() const (sql_error.h:548)
      ==9945==    by 0x706E80: make_truncated_value_warning(THD*, MYSQL_ERROR::enum_warning_level, ErrConv const*, enum_mysql_timestamp_type, char const*) (sql_time.cc:853)
      ==9945==    by 0x705236: make_truncated_value_warning(THD*, MYSQL_ERROR::enum_warning_level, char const*, unsigned int, enum_mysql_timestamp_type, char const*) (sql_time.h:64)
      ==9945==    by 0x705C9F: str_to_datetime_with_warn(charset_info_st const*, char const*, unsigned int, st_mysql_time*, unsigned long long) (sql_time.cc:320)
      ==9945==    by 0x88F93F: Item_dyncol_get::get_date(st_mysql_time*, unsigned long long) (item_strfunc.cc:4729)
      ==9945==    by 0x8BD48A: Item_func::get_arg0_date(st_mysql_time*, unsigned long long) (item_func.h:157)
      ==9945==    by 0x8BB125: Item_date_typecast::get_date(st_mysql_time*, unsigned long long) (item_timefunc.cc:2432)
      ==9945==    by 0x81DB26: Item::send(Protocol*, String*) (item.cc:6394)
      ==9945==    by 0x579F8D: Protocol::send_result_set_row(List<Item>*) (protocol.cc:900)
      ==9945==    by 0x5E3BA4: select_send::send_data(List<Item>&) (sql_class.cc:2364)
      ==9945==    by 0x67E9DA: end_send(JOIN*, st_join_table*, bool) (sql_select.cc:17946)
      ==9945==    by 0x67B811: do_select(JOIN*, List<Item>*, TABLE*, Procedure*) (sql_select.cc:16464)
      ==9945==    by 0x65A775: JOIN::exec_inner() (sql_select.cc:2997)
      ==9945==    by 0x657A44: JOIN::exec() (sql_select.cc:2296)
      ==9945==    by 0x65B026: mysql_select(THD*, Item***, TABLE_LIST*, unsigned int, List<Item>&, Item*, unsigned int, st_order*, st_order*, Item*, st_order*, unsigned long long, select_result*, st_select_lex_unit*, st_select_lex*) (sql_select.cc:3225)
      ==9945== Use of uninitialised value of size 8
      ==9945==    at 0xD75CD9: int2str (int2str.c:104)
      ==9945==    by 0xD7702B: process_int_arg (my_vsnprintf.c:287)
      ==9945==    by 0xD78C53: my_vsnprintf_ex (my_vsnprintf.c:655)
      ==9945==    by 0xD78FAE: my_vsnprintf (my_vsnprintf.c:706)
      ==9945==    by 0xD7905A: my_snprintf (my_vsnprintf.c:715)
      ==9945==    by 0x5F92EA: err_conv(char*, unsigned int, char const*, unsigned int, charset_info_st const*) (sql_error.cc:788)
      ==9945==    by 0x5848F8: ErrConvString::ptr() const (sql_error.h:548)
      ==9945==    by 0x706E80: make_truncated_value_warning(THD*, MYSQL_ERROR::enum_warning_level, ErrConv const*, enum_mysql_timestamp_type, char const*) (sql_time.cc:853)
      ==9945==    by 0x705236: make_truncated_value_warning(THD*, MYSQL_ERROR::enum_warning_level, char const*, unsigned int, enum_mysql_timestamp_type, char const*) (sql_time.h:64)
      ==9945==    by 0x705C9F: str_to_datetime_with_warn(charset_info_st const*, char const*, unsigned int, st_mysql_time*, unsigned long long) (sql_time.cc:320)
      ==9945==    by 0x88F93F: Item_dyncol_get::get_date(st_mysql_time*, unsigned long long) (item_strfunc.cc:4729)
      ==9945==    by 0x8BD48A: Item_func::get_arg0_date(st_mysql_time*, unsigned long long) (item_func.h:157)
      ==9945==    by 0x8BB125: Item_date_typecast::get_date(st_mysql_time*, unsigned long long) (item_timefunc.cc:2432)
      ==9945==    by 0x81DB26: Item::send(Protocol*, String*) (item.cc:6394)
      ==9945==    by 0x579F8D: Protocol::send_result_set_row(List<Item>*) (protocol.cc:900)
      ==9945==    by 0x5E3BA4: select_send::send_data(List<Item>&) (sql_class.cc:2364)
      ==9945== Conditional jump or move depends on uninitialised value(s)
      ==9945==    at 0xD75D40: int2str (int2str.c:107)
      ==9945==    by 0xD7702B: process_int_arg (my_vsnprintf.c:287)
      ==9945==    by 0xD78C53: my_vsnprintf_ex (my_vsnprintf.c:655)
      ==9945==    by 0xD78FAE: my_vsnprintf (my_vsnprintf.c:706)
      ==9945==    by 0xD7905A: my_snprintf (my_vsnprintf.c:715)
      ==9945==    by 0x5F92EA: err_conv(char*, unsigned int, char const*, unsigned int, charset_info_st const*) (sql_error.cc:788)
      ==9945==    by 0x5848F8: ErrConvString::ptr() const (sql_error.h:548)
      ==9945==    by 0x706E80: make_truncated_value_warning(THD*, MYSQL_ERROR::enum_warning_level, ErrConv const*, enum_mysql_timestamp_type, char const*) (sql_time.cc:853)
      ==9945==    by 0x705236: make_truncated_value_warning(THD*, MYSQL_ERROR::enum_warning_level, char const*, unsigned int, enum_mysql_timestamp_type, char const*) (sql_time.h:64)
      ==9945==    by 0x705C9F: str_to_datetime_with_warn(charset_info_st const*, char const*, unsigned int, st_mysql_time*, unsigned long long) (sql_time.cc:320)
      ==9945==    by 0x88F93F: Item_dyncol_get::get_date(st_mysql_time*, unsigned long long) (item_strfunc.cc:4729)
      ==9945==    by 0x8BD48A: Item_func::get_arg0_date(st_mysql_time*, unsigned long long) (item_func.h:157)
      ==9945==    by 0x8BB125: Item_date_typecast::get_date(st_mysql_time*, unsigned long long) (item_timefunc.cc:2432)
      ==9945==    by 0x81DB26: Item::send(Protocol*, String*) (item.cc:6394)
      ==9945==    by 0x579F8D: Protocol::send_result_set_row(List<Item>*) (protocol.cc:900)
      ==9945==    by 0x5E3BA4: select_send::send_data(List<Item>&) (sql_class.cc:2364)

      bzr version-info

      revision-id: knielsen@knielsen-hq.org-20130816131025-etjrvmfvupsjzq83
      revno: 3674
      branch-nick: 10.0-base

      Built with BUILD/compile-pentium-valgrind-max-no-ndb

      Also reproducible on the current 10.0 tree. Could not reproduce on 5.5.

      It might turn out to be a duplicate of some other valgrind warnings filed recently, but I haven't had this stack trace yet, so submitting it to be on the safe side.

      Attachments

        Activity

          Can't reproduce on current versions or even on 10.0.40. There were similar bugs fixed in 10.0.

          elenst Elena Stepanova added a comment - Can't reproduce on current versions or even on 10.0.40. There were similar bugs fixed in 10.0.

          People

            sanja Oleksandr Byelkin
            elenst Elena Stepanova
            Votes:
            0 Vote for this issue
            Watchers:
            2 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.