Description:
When running the func_gconcat test on a RedHat 7.3, valgrind-max build,
a recently added test case fails. Build environment:
Linux mysql 2.4.18-3 #1 Thu Apr 18 07:37:53 EDT 2002 i686 unknown
gcc version 2.96 20000731 (Red Hat Linux 7.3 2.96-110)
valgrind-1.0.4
The output from the test run:
----
func_gconcat [ fail ]
Errors are (from /home/pem/work/mysql-4.1/mysql-test/var/log/mysqltest-time) :
/home/pem/work/mysql-4.1/client/mysqltest: At line 123: Result length mismatch
(the last line(s) may be the ones that caused the die() in mysqltest)
Below are the diffs between actual and expected results:
-------------------------------------------------------
*** r/func_gconcat.result Sun Sep 7 16:57:05 2003
--- r/func_gconcat.reject Tue Sep 16 17:54:04 2003
***************
*** 170,177 ****
select REQ_ID, Group_Concat(URL) as URL, Min(t1.URL_ID) urll,
urlg from t1, t2 where t2.URL_ID = t1.URL_ID group by REQ_ID;
REQ_ID URL urll urlg
! 1 X 4 4
! 5 X,X,X 4 5
drop table t1;
drop table t2;
create table t1 (id int, name varchar(16));
--- 170,177 ----
select REQ_ID, Group_Concat(URL) as URL, Min(t1.URL_ID) urll,
urlg from t1, t2 where t2.URL_ID = t1.URL_ID group by REQ_ID;
REQ_ID URL urll urlg
! 1 X NULL NULL
! 5 X,X,X NULL NULL
drop table t1;
drop table t2;
create table t1 (id int, name varchar(16));
-------------------------------------------------------
Please follow the instructions outlined at
http://www.mysql.com/doc/R/e/Reporting_mysqltest_bugs.html
to find the reason to this problem and how to report this.
Ending Tests
Shutting-down MySQL daemon
Master shutdown finished
Slave shutdown finished
Resuming Tests
----
When running with valgrind, this happens for that particular test:
----
==13204== Thread 10:
==13204== Conditional jump or move depends on uninitialised value(s)
==13204== at 0x81724A9: count_field_types(TMP_TABLE_PARAM *, List<Item> &, bool) (sql_select.cc:7746)
==13204== by 0x8163759: JOIN::exec(void) (sql_select.cc:1312)
==13204== by 0x81643C2: mysql_select(THD *, Item ***, st_table_list *, unsigned int, List<Item> &, Item *, unsigned int, st_order *, st_order *, Item *, st_order *, unsigned long, select_result *, st_select_lex_unit *, st_select_lex *, bool) (sql_select.cc:1542)
==13204== by 0x816094F: handle_select(THD *, st_lex *, select_result *) (sql_select.cc:189)
==13204== by 0x813EEB4: mysql_execute_command(THD *) (sql_parse.cc:1771)
==13204== by 0x8143741: mysql_parse(THD *, char *, unsigned int) (sql_parse.cc:3683)
==13204== by 0x813DE50: dispatch_command(enum_server_command, THD *, char *, unsigned int) (sql_parse.cc:1308)
==13204== by 0x813D80E: do_command(THD *) (sql_parse.cc:1119)
==13204== by 0x813CE68: handle_one_connection (sql_parse.cc:897)
==13204== by 0x40241397: thread_wrapper (in /usr/local/lib/valgrind/libpthread.so)
==13204== by 0x400491E8: do__apply_in_new_thread_bogusRA (in /usr/local/lib/valgrind/valgrind.so)
==13204==
==13204== Thread 10:
==13204== Conditional jump or move depends on uninitialised value(s)
==13204== at 0x81731C3: JOIN::make_sum_func_list(List<Item> &, List<Item> &, bool) (sql_select.cc:8115)
==13204== by 0x8163A5C: JOIN::exec(void) (sql_select.cc:1351)
==13204== by 0x81643C2: mysql_select(THD *, Item ***, st_table_list *, unsigned int, List<Item> &, Item *, unsigned int, st_order *, st_order *, Item *, st_order *, unsigned long, select_result *, st_select_lex_unit *, st_select_lex *, bool) (sql_select.cc:1542)
==13204== by 0x816094F: handle_select(THD *, st_lex *, select_result *) (sql_select.cc:189)
==13204== by 0x813EEB4: mysql_execute_command(THD *) (sql_parse.cc:1771)
==13204== by 0x8143741: mysql_parse(THD *, char *, unsigned int) (sql_parse.cc:3683)
==13204== by 0x813DE50: dispatch_command(enum_server_command, THD *, char *, unsigned int) (sql_parse.cc:1308)
==13204== by 0x813D80E: do_command(THD *) (sql_parse.cc:1119)
==13204== by 0x813CE68: handle_one_connection (sql_parse.cc:897)
==13204== by 0x40241397: thread_wrapper (in /usr/local/lib/valgrind/libpthread.so)
==13204== by 0x400491E8: do__apply_in_new_thread_bogusRA (in /usr/local/lib/valgrind/valgrind.so)
----
How to repeat:
cd mysql-test
./mysql-test-run func_gconcat
./mysql-test-run --valgrind func_gconcat