Uploaded image for project: 'Percona Server'
  1. Percona Server
  2. PS-3159

LP #1334317: Suppression typo causing spurious MTR Valgrind failures

    Details

      Description

      **Reported in Launchpad by Laurynas Biveinis last update 13-07-2014 12:56:07

      Copy of http://bugs.mysql.com/bug.php?id=73111:

      [25 Jun 9:41] Laurynas Biveinis
      Description:
      main.ctype_eucjpms [ fail ] Found warnings/errors in server log file!
      Test ended at 2014-06-25 11:34:38
      line
      ==1327== Thread 13:
      ==1327== Syscall param write(buf) points to uninitialised byte(s)
      ==1327== at 0x504835D: ??? (syscall-template.S:81)
      ==1327== by 0x7E52DE: my_write (my_write.c:43)
      ==1327== by 0x7CDD16: my_b_flush_io_cache (mysql_file.h:1134)
      ==1327== by 0x7CE390: _my_b_write (mf_iocache.c:1549)
      ==1327== by 0x6A06D1: write_keys(st_sort_param*, unsigned char*, unsigned int, st_io_cache, st_io_cache*) (filesort.cc:760)
      ==1327== by 0x6A29CC: filesort(THD*, TABLE*, st_sort_field*, unsigned int, SQL_SELECT*, unsigned long long, bool, unsigned long long*) (filesort.cc:662)
      ==1327== by 0x5BDD1F: create_sort_index(THD*, JOIN*, st_order*, unsigned long long, unsigned long long, bool) (sql_select.cc:14254)
      ==1327== by 0x5D0C4C: JOIN::exec() (sql_select.cc:2354)
      ==1327== by 0x5CAD39: 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:2604)
      ==1327== by 0x5CAF30: handle_select(THD*, LEX*, select_result*, unsigned long) (sql_select.cc:297)
      ==1327== by 0x5815B6: execute_sqlcom_select(THD*, TABLE_LIST*) (sql_parse.cc:4625)
      ==1327== by 0x587A80: mysql_execute_command(THD*) (sql_parse.cc:2176)
      ==1327== by 0x58F20B: mysql_parse(THD*, char*, unsigned int, Parser_state*) (sql_parse.cc:5662)
      ==1327== by 0x590A96: dispatch_command(enum_server_command, THD*, char*, unsigned int) (sql_parse.cc:1038)
      ==1327== by 0x592905: do_command(THD*) (sql_parse.cc:773)
      ==1327== by 0x63DEAD: do_handle_one_connection(THD*) (sql_connect.cc:862)
      ==1327== Address 0x10abaf57 is 23 bytes inside a block of size 65,536 alloc'd
      ==1327== at 0x4C2AB80: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
      ==1327== by 0x7E13D4: my_malloc (my_malloc.c:38)
      ==1327== by 0x7CD4E1: init_io_cache (mf_iocache.c:232)
      ==1327== by 0x7CAB06: open_cached_file (mf_cache.c:69)
      ==1327== by 0x6A0640: write_keys(st_sort_param*, unsigned char*, unsigned int, st_io_cache, st_io_cache*) (filesort.cc:750)
      ==1327== by 0x6A29CC: filesort(THD*, TABLE*, st_sort_field*, unsigned int, SQL_SELECT*, unsigned long long, bool, unsigned long long*) (filesort.cc:662)
      ==1327== by 0x5BDD1F: create_sort_index(THD*, JOIN*, st_order*, unsigned long long, unsigned long long, bool) (sql_select.cc:14254)
      ==1327== by 0x5D0C4C: JOIN::exec() (sql_select.cc:2354)
      ==1327== by 0x5CAD39: 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:2604)
      ==1327== by 0x5CAF30: handle_select(THD*, LEX*, select_result*, unsigned long) (sql_select.cc:297)
      ==1327== by 0x5815B6: execute_sqlcom_select(THD*, TABLE_LIST*) (sql_parse.cc:4625)
      ==1327== by 0x587A80: mysql_execute_command(THD*) (sql_parse.cc:2176)
      ==1327== by 0x58F20B: mysql_parse(THD*, char*, unsigned int, Parser_state*) (sql_parse.cc:5662)
      ==1327== by 0x590A96: dispatch_command(enum_server_command, THD*, char*, unsigned int) (sql_parse.cc:1038)
      ==1327== by 0x592905: do_command(THD*) (sql_parse.cc:773)
      ==1327== by 0x63DEAD: do_handle_one_connection(THD*) (sql_connect.cc:862)

      Affected tests: ctype_eucjpms, ctype_sjis, ctype_tis620 ctype_ujis ctype_ujis_ucs2 ctype_cp932_binlog_stm subselect sum_distinct, all in main suite.

      How to repeat:
      Server built with -DWITH_DEBUG=ON -DWITH_VALGRIND=ON -DCMAKE_C_FLAGS=-DHAVE_purify -DCMAKE_CXX_FLAGS=-DHAVE_purify -DBUILD_CONFIG=mysql_release -DFEATURE_SET=community -DWITH_EMBEDDED_SERVER=OFF -DENABLE_DTRACE=OFF -DWITH_EXAMPLE_STORAGE_ENGINE=1 -DWITH_SSL=system

      Suggested fix:
      There are existing suppressions that attempt to address this, the closest one being

      { Bug#12856915 VALGRIND FAILURE IN FILESORT/CREATE_SORT_INDEX / one Memcheck:Param write(buf) obj:*/libpthread*.so fun:my_write ... fun:my_b_flush_io_cache fun:_my_b_write fun:_Z10write_keysP13st_sort_paramPPhjP11st_io_cacheS4_ fun:_Z13find_all_keysP13st_sort_paramP10SQL_SELECTPPhP11st_io_cacheS6_ fun:_Z8filesortP3THDP5TABLEP13st_sort_fieldjP10SQL_SELECTybPy } It does not account for find_all_keys missing in the stacktrace, and write_keys needs slightly different mangling at least on my system. Changing it as follows fixes the issue. === modified file 'mysql-test/valgrind.supp' --- mysql-test/valgrind.supp 2012-02-14 07:11:28 +0000 +++ mysql-test/valgrind.supp 2014-06-25 09:16:58 +0000 @@ -892,8 +892,8 @@ ... fun:my_b_flush_io_cache fun:_my_b_write - fun:_Z*10write_keysP13st_sort_paramPPhjP11st_io_cacheS4_ - fun:_Z*13find_all_keysP13st_sort_paramP10SQL_SELECTPPhP11st_io_cacheS6_ + fun:_ZL10write_keysP13st_sort_paramPPhjP11st_io_cacheS4_ + ... fun:_Z8filesortP3THDP5TABLEP13st_sort_fieldjP10SQL_SELECTybPy }

      Legal PoliciesYour Privacy RightsTerms of UseContact Us

        Smart Checklist

          Attachments

            Activity

              People

              • Assignee:
                Unassigned
                Reporter:
                lpjirasync lpjirasync (Inactive)
              • Votes:
                0 Vote for this issue
                Watchers:
                1 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: