Bug #25000 myisam.test fails on 'pb-valgrind-*' Valgrind
Submitted: 12 Dec 2006 10:42 Modified: 30 Jan 2007 3:34
Reporter: Ingo Strüwing Email Updates:
Status: Closed Impact on me:
None 
Category:MySQL Server: MyISAM storage engine Severity:S1 (Critical)
Version:4.1.23 OS:unknown
Assigned to: Magnus Blåudd CPU Architecture:Any

[12 Dec 2006 10:42] Ingo Strüwing
Description:
This blocks 4.1-engines from being pushed to main.

Platform: 'pb-valgrind-*' Valgrind

Excerpt from https://intranet.mysql.com/~knielsen/pb/getlog.pl?dir=mysql-4.1-engines&entry=istruewing@c...

myisam                         [ fail ]

Errors are (from /home/pushbuild/pb1/pb/mysql-4.1-engines/28/mysql-4.1.23-pb28/mysql-test/var/log/mysqltest-time) :
==4731== Memcheck, a memory error detector.
==4731== Copyright (C) 2002-2006, and GNU GPL'd, by Julian Seward et al.
==4731== Using LibVEX rev 1658, a library for dynamic binary translation.
==4731== Copyright (C) 2004-2006, and GNU GPL'd, by OpenWorks LLP.
==4731== Using valgrind-3.2.1, a dynamic binary instrumentation framework.
==4731== Copyright (C) 2000-2006, and GNU GPL'd, by Julian Seward et al.
==4731== For more details, rerun with: -v
==4731== 
mysqltest: Result length mismatch
==4731== 
==4731== ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 3 from 1)
==4731== malloc/free: in use at exit: 4,168 bytes in 1 blocks.
==4731== malloc/free: 11,318 allocs, 11,317 frees, 4,252,824 bytes allocated.
==4731== For counts of detected errors, rerun with: -v
==4731== searching for pointers to 1 not-freed blocks.
==4731== checked 1,009,016 bytes.
==4731== 
==4731== 4,168 bytes in 1 blocks are still reachable in loss record 1 of 1
==4731==    at 0x4A20859: malloc (vg_replace_malloc.c:149)
==4731==    by 0x4B680AE: _db_push_ (dbug.c:1638)
==4731==    by 0x4B6903B: _db_enter_ (dbug.c:721)
==4731==    by 0x4B44044: my_init (my_init.c:98)
==4731==    by 0x412424: main (mysqltest.c:5567)
{
   <insert a suppression name here>
   Memcheck:Leak
   fun:_vgrZU_libcZdsoZa_malloc
   fun:_db_push_
   fun:_db_enter_
   fun:my_init
   fun:main
}
==4731== 
==4731== LEAK SUMMARY:
==4731==    definitely lost: 0 bytes in 0 blocks.
==4731==      possibly lost: 0 bytes in 0 blocks.
==4731==    still reachable: 4,168 bytes in 1 blocks.
==4731==         suppressed: 0 bytes in 0 blocks.
(the last lines may be the most important ones)
Below are the diffs between actual and expected results:
-------------------------------------------------------
*** r/myisam.result	2006-12-08 22:45:19.000000000 +0300
--- r/myisam.reject	2006-12-09 02:08:29.000000000 +0300
***************
*** 927,938 ****
  Table	Create Table
  t1	CREATE TEMPORARY TABLE `t1` (
    `a` int(11) default NULL
! ) ENGINE=MyISAM DEFAULT CHARSET=latin1 DATA DIRECTORY='MYSQL_TEST_DIR/var/log/'
  show create table t1;
  Table	Create Table
  t1	CREATE TEMPORARY TABLE `t1` (
    `a` int(11) default NULL
! ) ENGINE=MyISAM DEFAULT CHARSET=latin1 DATA DIRECTORY='MYSQL_TEST_DIR/var/log/'
  create table t1 (a int) engine=myisam select 42 a;
  select * from t1;
  a
--- 927,938 ----
  Table	Create Table
  t1	CREATE TEMPORARY TABLE `t1` (
    `a` int(11) default NULL
! ) ENGINE=MyISAM DEFAULT CHARSET=latin1
  show create table t1;
  Table	Create Table
  t1	CREATE TEMPORARY TABLE `t1` (
    `a` int(11) default NULL
! ) ENGINE=MyISAM DEFAULT CHARSET=latin1
  create table t1 (a int) engine=myisam select 42 a;
  select * from t1;
  a
-------------------------------------------------------
Please follow the instructions outlined at

How to repeat:
See the pushbuild log.
[17 Jan 2007 10:33] Magnus Blåudd
Temp tables never uses DATA DIRECTORY so patch is to revert
"bk cset -x1.2522.28.6" and get back to result file with no DATA DIRECTORY output
of SHOW CREATE TABLE
[25 Jan 2007 8:40] Sergey Vojtovich
Pushed into trees currently marked as 5.0.36 and 5.1.15.
[30 Jan 2007 3:34] Paul DuBois
Test suite change only. No changelog entry needed.