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

LP:666347 - Valgrind warnings around create_sort_index()

    XMLWordPrintable

Details

    • Bug
    • Status: Closed (View Workflow)
    • Minor
    • Resolution: Won't Fix
    • 5.1.67, 5.2.14, 5.3.12
    • None
    • None

    Description

      The following query:

      SELECT MAX( DISTINCT table2 . `col_varchar_key` ) AS field1 , table2 . `col_datetime_key` AS field2 , table2 . `col_datetime_key` AS field3 , table2 . `col_int_key` AS field4 , table2 . `col_date_key` AS field5 , table1 . `col_varchar_key` AS field6 , table1 . `col_time_key` AS field7 , table1 . `col_date_key` AS field8 , SUM( DISTINCT table2 . `col_varchar_key` ) AS field9 , table2 . `col_datetime_key` AS field10 , table1 . `col_datetime_key` AS field11 , MIN( DISTINCT table1 . `col_int_key` ) AS field12 , table1 . `col_date_key` AS field13 , ( ( table1 . `col_int_key` ) * ( table1 . `pk` ) ) AS field14 , table1 . `col_datetime_key` AS field15 , table2 . `col_varchar_key` AS field16 , table1 . `col_int_nokey` AS field17 , table2 . `col_date_key` AS field18 , table2 . `col_int_key` AS field19 , table2 . `col_date_key` AS field20 , table1 . `col_varchar_nokey` AS field21
      FROM ( D AS table1 INNER JOIN ( ( CC AS table2 INNER JOIN CC AS table3 ON (( table3 . `col_varchar_key` <> table2 . `col_varchar_key` ) AND ( table3 . `col_varchar_key` > table2 . `col_varchar_nokey` ) ) ) ) ON (( table3 . `col_varchar_key` <> table2 . `col_varchar_key` ) OR ( table3 . `col_int_key` > table2 . `pk` ) ) )
      WHERE table1 . `col_int_key` = 198 OR table2 . `col_varchar_nokey` < 'u'
      GROUP BY field2, field3, field4, field5, field6, field7, field8, field10, field11, field13, field14, field15, field16, field17, field18, field19, field20, field21
      HAVING field1 >= 'ou'
      ORDER BY field1, field2, field3, field4, field5, field6, field7, field8, field9, field10, field11, field12, field13, field14, field15, field16, field17, field18, field19, field20, field21 , table1 . `col_datetime_key` DESC
      ;
      Causes the following valgrind warnings:

      ==19529== Syscall param write(buf) points to uninitialised byte(s)
      ==19529== at 0xBF137B: ??? (in /lib/libpthread-2.12.so)
      ==19529== by 0x872BFC2: my_b_flush_io_cache (mf_iocache.c:1758)
      ==19529== by 0x872B792: _my_b_write (mf_iocache.c:1514)
      ==19529== by 0x83C5170: write_keys(st_sort_param*, unsigned char*, unsigned int, st_io_cache, st_io_cache*) (filesort.cc:712)
      ==19529== by 0x83C4CC4: find_all_keys(st_sort_param*, SQL_SELECT*, unsigned char*, st_io_cache, st_io_cache*, st_io_cache*) (filesort.cc:620)
      ==19529== by 0x83C38E8: filesort(THD*, st_table*, st_sort_field*, unsigned int, SQL_SELECT*, unsigned long long, bool, unsigned long long*) (filesort.cc:246)
      ==19529== by 0x83274E2: create_sort_index(THD*, JOIN*, st_order*, unsigned long long, unsigned long long, bool) (sql_select.cc:16026)
      ==19529== by 0x830441B: JOIN::exec() (sql_select.cc:2125)
      ==19529== by 0x8305EDF: 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:2613)
      ==19529== by 0x82FE59A: handle_select(THD*, st_lex*, select_result*, unsigned long) (sql_select.cc:277)
      ==19529== by 0x829B753: execute_sqlcom_select(THD*, TABLE_LIST*) (sql_parse.cc:5081)
      ==19529== by 0x8292133: mysql_execute_command(THD*) (sql_parse.cc:2265)
      ==19529== by 0x829D934: mysql_parse(THD*, char const*, unsigned int, char const**) (sql_parse.cc:6027)
      ==19529== by 0x828FB65: dispatch_command(enum_server_command, THD*, char*, unsigned int) (sql_parse.cc:1184)
      ==19529== by 0x828F00B: do_command(THD*) (sql_parse.cc:890)
      ==19529== by 0x828C16B: handle_one_connection (sql_connect.cc:1153)
      ==19529== Address 0x11cf504b is 107 bytes inside a block of size 65,564 alloc'd
      ==19529== at 0x4005BDC: malloc (vg_replace_malloc.c:195)
      ==19529== by 0x872EA9A: _mymalloc (safemalloc.c:137)
      ==19529== by 0x872982B: init_io_cache (mf_iocache.c:244)
      ==19529== by 0x872D555: open_cached_file (mf_cache.c:69)
      ==19529== by 0x83C504A: write_keys(st_sort_param*, unsigned char*, unsigned int, st_io_cache, st_io_cache*) (filesort.cc:700)
      ==19529== by 0x83C4CC4: find_all_keys(st_sort_param*, SQL_SELECT*, unsigned char*, st_io_cache, st_io_cache*, st_io_cache*) (filesort.cc:620)
      ==19529== by 0x83C38E8: filesort(THD*, st_table*, st_sort_field*, unsigned int, SQL_SELECT*, unsigned long long, bool, unsigned long long*) (filesort.cc:246)
      ==19529== by 0x83274E2: create_sort_index(THD*, JOIN*, st_order*, unsigned long long, unsigned long long, bool) (sql_select.cc:16026)
      ==19529== by 0x830441B: JOIN::exec() (sql_select.cc:2125)
      ==19529== by 0x8305EDF: 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:2613)
      ==19529== by 0x82FE59A: handle_select(THD*, st_lex*, select_result*, unsigned long) (sql_select.cc:277)
      ==19529== by 0x829B753: execute_sqlcom_select(THD*, TABLE_LIST*) (sql_parse.cc:5081)
      ==19529== by 0x8292133: mysql_execute_command(THD*) (sql_parse.cc:2265)
      ==19529== by 0x829D934: mysql_parse(THD*, char const*, unsigned int, char const**) (sql_parse.cc:6027)
      ==19529== by 0x828FB65: dispatch_command(enum_server_command, THD*, char*, unsigned int) (sql_parse.cc:1184)
      ==19529== by 0x828F00B: do_command(THD*) (sql_parse.cc:890)
      ==19529==
      ==19529== Syscall param write(buf) points to uninitialised byte(s)
      ==19529== at 0xBF137B: ??? (in /lib/libpthread-2.12.so)
      ==19529== by 0x872BFC2: my_b_flush_io_cache (mf_iocache.c:1758)
      ==19529== by 0x83C3B97: filesort(THD*, st_table*, st_sort_field*, unsigned int, SQL_SELECT*, unsigned long long, bool, unsigned long long*) (filesort.cc:290)
      ==19529== by 0x83274E2: create_sort_index(THD*, JOIN*, st_order*, unsigned long long, unsigned long long, bool) (sql_select.cc:16026)
      ==19529== by 0x830441B: JOIN::exec() (sql_select.cc:2125)
      ==19529== by 0x8305EDF: 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:2613)
      ==19529== by 0x82FE59A: handle_select(THD*, st_lex*, select_result*, unsigned long) (sql_select.cc:277)
      ==19529== by 0x829B753: execute_sqlcom_select(THD*, TABLE_LIST*) (sql_parse.cc:5081)
      ==19529== by 0x8292133: mysql_execute_command(THD*) (sql_parse.cc:2265)
      ==19529== by 0x829D934: mysql_parse(THD*, char const*, unsigned int, char const**) (sql_parse.cc:6027)
      ==19529== by 0x828FB65: dispatch_command(enum_server_command, THD*, char*, unsigned int) (sql_parse.cc:1184)
      ==19529== by 0x828F00B: do_command(THD*) (sql_parse.cc:890)
      ==19529== by 0x828C16B: handle_one_connection (sql_connect.cc:1153)
      ==19529== by 0xBEA918: start_thread (in /lib/libpthread-2.12.so)
      ==19529== by 0xB2CCBD: clone (in /lib/libc-2.12.so)
      ==19529== Address 0x11cf5003 is 35 bytes inside a block of size 65,564 alloc'd
      ==19529== at 0x4005BDC: malloc (vg_replace_malloc.c:195)
      ==19529== by 0x872EA9A: _mymalloc (safemalloc.c:137)
      ==19529== by 0x872982B: init_io_cache (mf_iocache.c:244)
      ==19529== by 0x872D555: open_cached_file (mf_cache.c:69)
      ==19529== by 0x83C504A: write_keys(st_sort_param*, unsigned char*, unsigned int, st_io_cache, st_io_cache*) (filesort.cc:700)
      ==19529== by 0x83C4CC4: find_all_keys(st_sort_param*, SQL_SELECT*, unsigned char*, st_io_cache, st_io_cache*, st_io_cache*) (filesort.cc:620)
      ==19529== by 0x83C38E8: filesort(THD*, st_table*, st_sort_field*, unsigned int, SQL_SELECT*, unsigned long long, bool, unsigned long long*) (filesort.cc:246)
      ==19529== by 0x83274E2: create_sort_index(THD*, JOIN*, st_order*, unsigned long long, unsigned long long, bool) (sql_select.cc:16026)
      ==19529== by 0x830441B: JOIN::exec() (sql_select.cc:2125)
      ==19529== by 0x8305EDF: 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:2613)
      ==19529== by 0x82FE59A: handle_select(THD*, st_lex*, select_result*, unsigned long) (sql_select.cc:277)
      ==19529== by 0x829B753: execute_sqlcom_select(THD*, TABLE_LIST*) (sql_parse.cc:5081)
      ==19529== by 0x8292133: mysql_execute_command(THD*) (sql_parse.cc:2265)
      ==19529== by 0x829D934: mysql_parse(THD*, char const*, unsigned int, char const**) (sql_parse.cc:6027)
      ==19529== by 0x828FB65: dispatch_command(enum_server_command, THD*, char*, unsigned int) (sql_parse.cc:1184)
      ==19529== by 0x828F00B: do_command(THD*) (sql_parse.cc:890)
      ==19529==

      Attachments

        Activity

          People

            igor Igor Babaev (Inactive)
            philipstoev Philip Stoev (Inactive)
            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.