← Back to team overview

enterprise-support team mailing list archive

[Bug 1334317] [NEW] Suppression typo causing spurious MTR Valgrind failures

 

Public bug reported:

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

** Affects: mysql-server
     Importance: Unknown
         Status: Unknown

** Affects: percona-server
     Importance: Undecided
     Assignee: Laurynas Biveinis (laurynas-biveinis)
         Status: New

** Affects: percona-server/5.1
     Importance: Undecided
         Status: Won't Fix

** Affects: percona-server/5.5
     Importance: Low
     Assignee: Laurynas Biveinis (laurynas-biveinis)
         Status: In Progress

** Affects: percona-server/5.6
     Importance: Undecided
     Assignee: Laurynas Biveinis (laurynas-biveinis)
         Status: New


** Tags: ci low-hanging-fruit upstream valgrind

** Also affects: percona-server/5.5
   Importance: Undecided
       Status: New

** Also affects: percona-server/5.1
   Importance: Undecided
       Status: New

** Also affects: percona-server/5.6
   Importance: Undecided
       Status: New

** Changed in: percona-server/5.1
       Status: New => Won't Fix

** Changed in: percona-server/5.5
       Status: New => In Progress

** Changed in: percona-server/5.5
   Importance: Undecided => Low

** Changed in: percona-server/5.5
     Assignee: (unassigned) => Laurynas Biveinis (laurynas-biveinis)

** Changed in: percona-server/5.6
     Assignee: (unassigned) => Laurynas Biveinis (laurynas-biveinis)

** Tags added: ci low-hanging-fruit upstream valgrind

** Bug watch added: MySQL Bug System #73111
   http://bugs.mysql.com/bug.php?id=73111

** Also affects: mysql-server via
   http://bugs.mysql.com/bug.php?id=73111
   Importance: Unknown
       Status: Unknown

-- 
You received this bug notification because you are a member of Ubuntu
Server/Client Support Team, which is subscribed to MySQL.
Matching subscriptions: Ubuntu Server/Client Support Team
https://bugs.launchpad.net/bugs/1334317

Title:
  Suppression typo causing spurious MTR Valgrind failures

To manage notifications about this bug go to:
https://bugs.launchpad.net/mysql-server/+bug/1334317/+subscriptions


Follow ups

References