Bug #57179 the very holy csv engine
Submitted: 1 Oct 2010 17:48 Modified: 11 Feb 2011 7:06
Reporter: Shane Bester (Platinum Quality Contributor) Email Updates:
Status: Can't repeat Impact on me:
None 
Category:MySQL Server: CSV Severity:S1 (Critical)
Version:5.1.51 OS:Any
Assigned to: CPU Architecture:Any
Tags: csv, Leak, memory leak

[1 Oct 2010 17:48] Shane Bester
Description:
csv leaks like a sieve.

8,160 bytes in 1 blocks are definitely lost in loss record 1 of 2
at : malloc (vg_replace_malloc.c:195)
by : my_malloc (my_malloc.c:35)
by : alloc_root (my_alloc.c:217)
by : ha_tina::find_current_row (ha_tina.cc:704)
by : ha_tina::rnd_next (ha_tina.cc:1118)
by : rr_sequential (records.cc:385)
by : sub_select (sql_select.cc:11402)
by : evaluate_join_record (sql_select.cc:11529)
by : sub_select (sql_select.cc:11403)
by : do_select (sql_select.cc:11159)
by : JOIN::exec (sql_select.cc:2322)
by : mysql_select (sql_select.cc:2525)

How to repeat:
run mysqld in valgrind with --leak-check=full then:

drop table if exists `t1`;
create table `t1` (`a` text not null,b int not null) engine=csv default charset=latin1;
insert into t1 values ('1',1),('3',1),('2',3);
select * from `t1` right join `t1` `t2` on (t1.a <> t2.b);
[3 Oct 2010 13:06] Valeriy Kravchuk
What exact valgrind version and command line you had used?

I can not repeat this with current 5.1.52 or 5.5.7 from bzr with valgrind-3.6.0.SVN-Debian on Ubuntu 10.04.
[3 Oct 2010 13:42] MySQL Verification Team
repeatable in 5.1.51 but not repeatable in 5.1.52. i don't know where this was fixed, would be nice to know.
[3 Oct 2010 15:48] MySQL Verification Team
still leaking, but i have to make another testcase for 5.1.52 ......

Attachment: bug57179_5.1.52_csv_leaks.txt (text/plain), 33.76 KiB.