Bug #11513 | "fulltext" test suite failure | ||
---|---|---|---|
Submitted: | 22 Jun 2005 16:36 | Modified: | 26 Jan 2007 10:46 |
Reporter: | Lenz Grimmer | Email Updates: | |
Status: | Closed | Impact on me: | |
Category: | MySQL Server: FULLTEXT search | Severity: | S3 (Non-critical) |
Version: | 4.1 | OS: | Linux (SUSE Linux 9.3/x86) |
Assigned to: | CPU Architecture: | Any |
[22 Jun 2005 16:36]
Lenz Grimmer
[15 Jul 2005 7:31]
SREENIDISH C
I am also facing the same issue with mysql-test. Following four tests are failed: fulltest, fulltext_cache, fulltext_left_join and fulltext_multi. The environment info is: MySQL version: 4.1.12 OS: SuSE 9.1 GNU/Linux 2.6.4-52 on i686 Could someone throw light on this issue? The excerpt from resultant log after the test is added below: foreign_key [ pass ] fulltext [ fail ] Errors are (from /opt/mysql41/src/mysql-test/var/log/mysqltest-time) : /opt/mysql41/src/client/mysqltest: At line 341: Result content mismatch (the last lines may be the most important ones) Below are the diffs between actual and expected results: ------------------------------------------------------- *** r/fulltext.result 2005-06-02 07:22:35.000000000 +0300 --- r/fulltext.reject 2005-07-14 22:27:47.417713360 +0300 *************** *** 11,18 **** t1 1 a 2 b NULL NULL NULL NULL YES FULLTEXT select * from t1 where MATCH(a,b) AGAINST ("collections"); a b - Only MyISAM tables support collections Full-text indexes are called collections explain extended select * from t1 where MATCH(a,b) AGAINST ("collections"); id select_type table type possible_keys key key_len ref rows Extra 1 SIMPLE t1 fulltext a a 0 1 Using where --- 11,18 ---- t1 1 a 2 b NULL NULL NULL NULL YES FULLTEXT select * from t1 where MATCH(a,b) AGAINST ("collections"); a b Full-text indexes are called collections + Only MyISAM tables support collections explain extended select * from t1 where MATCH(a,b) AGAINST ("collections"); id select_type table type possible_keys key key_len ref rows Extra 1 SIMPLE t1 fulltext a a 0 1 Using where *************** *** 165,172 **** Function MATCH ... AGAINST() is used to do a search select * from t1 where MATCH(a,b) AGAINST ("collections") UNION ALL select * from t1 where MATCH(a,b) AGAINST ("indexes"); a b - Only MyISAM tables support collections Full-text indexes are called collections Full-text indexes are called collections delete from t1 where a like "MySQL%"; update t1 set a='some test foobar' where MATCH a,b AGAINST ('model'); --- 165,172 ---- Function MATCH ... AGAINST() is used to do a search select * from t1 where MATCH(a,b) AGAINST ("collections") UNION ALL select * from t1 where MATCH(a,b) AGAINST ("indexes"); a b Full-text indexes are called collections + Only MyISAM tables support collections Full-text indexes are called collections delete from t1 where a like "MySQL%"; update t1 set a='some test foobar' where MATCH a,b AGAINST ('model'); *************** *** 368,374 **** t collation(t) SELECT t, collation(t),FORMAT(MATCH t AGAINST ('Osnabruck'),6) FROM t1 WHERE MATCH t AGAINST ('Osnabruck'); t collation(t) FORMAT(MATCH t AGAINST ('Osnabruck'),6) ! aus Osnabrück utf8_general_ci 1.591140 alter table t1 modify t varchar(200) collate latin1_german2_ci not null; Warnings: Warning 1265 Data truncated for column 't' at row 3 --- 368,374 ---- t collation(t) SELECT t, collation(t),FORMAT(MATCH t AGAINST ('Osnabruck'),6) FROM t1 WHERE MATCH t AGAINST ('Osnabruck'); t collation(t) FORMAT(MATCH t AGAINST ('Osnabruck'),6) ! aus Osnabrück utf8_general_ci 0.000000 alter table t1 modify t varchar(200) collate latin1_german2_ci not null; Warnings: Warning 1265 Data truncated for column 't' at row 3 ------------------------------------------------------- Please follow the instructions outlined at http://www.mysql.com/doc/en/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 fulltext2 [ pass ] fulltext_cache [ fail ] Errors are (from /opt/mysql41/src/mysql-test/var/log/mysqltest-time) : /opt/mysql41/src/client/mysqltest: At line 45: Result content mismatch (the last lines may be the most important ones) Below are the diffs between actual and expected results: ------------------------------------------------------- *** r/fulltext_cache.result 2005-06-02 07:22:35.000000000 +0300 --- r/fulltext_cache.reject 2005-07-14 22:27:55.093546456 +0300 *************** *** 24,30 **** SELECT t1.q, t2.item, t2.id, round(MATCH t2.item AGAINST ('sushi'),6) as x FROM t1, t2 WHERE (t2.id2 = t1.id) ORDER BY x DESC,t2.id; q item id x ! aaaaaaaaa dsaass de sushi 1 1.923787 aaaaaaaaa dsaass de Bolo de Chocolate 2 0.000000 aaaaaaaaa dsaass de Feijoada 3 0.000000 aaaaaaaaa dsaass de Mousse de Chocolate 4 0.000000 --- 24,30 ---- SELECT t1.q, t2.item, t2.id, round(MATCH t2.item AGAINST ('sushi'),6) as x FROM t1, t2 WHERE (t2.id2 = t1.id) ORDER BY x DESC,t2.id; q item id x ! aaaaaaaaa dsaass de sushi 1 0.000000 aaaaaaaaa dsaass de Bolo de Chocolate 2 0.000000 aaaaaaaaa dsaass de Feijoada 3 0.000000 aaaaaaaaa dsaass de Mousse de Chocolate 4 0.000000 *************** *** 46,52 **** SELECT t1.q, t2.item, t2.id, round(MATCH t2.item AGAINST ('sushi'),6) as x FROM t2, t1 WHERE (t2.id2 = t1.id) ORDER BY x DESC,t2.id; q item id x ! aaaaaaaaa dsaass de sushi 1 1.923787 aaaaaaaaa dsaass de Bolo de Chocolate 2 0.000000 aaaaaaaaa dsaass de Feijoada 3 0.000000 aaaaaaaaa dsaass de Mousse de Chocolate 4 0.000000 --- 46,52 ---- SELECT t1.q, t2.item, t2.id, round(MATCH t2.item AGAINST ('sushi'),6) as x FROM t2, t1 WHERE (t2.id2 = t1.id) ORDER BY x DESC,t2.id; q item id x ! aaaaaaaaa dsaass de sushi 1 0.000000 aaaaaaaaa dsaass de Bolo de Chocolate 2 0.000000 aaaaaaaaa dsaass de Feijoada 3 0.000000 aaaaaaaaa dsaass de Mousse de Chocolate 4 0.000000 ------------------------------------------------------- Please follow the instructions outlined at http://www.mysql.com/doc/en/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 fulltext_distinct [ pass ] fulltext_left_join [ fail ] Errors are (from /opt/comps/mysql41/src/mysql-test/var/log/mysqltest-time) : /opt/mysql41/src/client/mysqltest: At line 48: Result content mismatch (the last lines may be the most important ones) Below are the diffs between actual and expected results: ------------------------------------------------------- *** r/fulltext_left_join.result 2005-06-02 07:22:35.000000000 +0300 --- r/fulltext_left_join.reject 2005-07-14 22:28:00.335749520 +0300 *************** *** 21,27 **** round(match(t1.texte,t1.sujet,t1.motsclefs) against('droit'),5) 0.00000 0.00000 ! 0.67003 0.00000 select match(t1.texte,t1.sujet,t1.motsclefs) against('droit' IN BOOLEAN MODE) from t1 left join t2 on t2.id=t1.id; --- 21,27 ---- round(match(t1.texte,t1.sujet,t1.motsclefs) against('droit'),5) 0.00000 0.00000 ! 0.00000 0.00000 select match(t1.texte,t1.sujet,t1.motsclefs) against('droit' IN BOOLEAN MODE) from t1 left join t2 on t2.id=t1.id; ------------------------------------------------------- Please follow the instructions outlined at http://www.mysql.com/doc/en/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 fulltext_multi [ fail ] Errors are (from /opt/mysql41/src/mysql-test/var/log/mysqltest-time) : /opt/mysql41/src/client/mysqltest: At line 24: Result content mismatch (the last lines may be the most important ones) Below are the diffs between actual and expected results: ------------------------------------------------------- *** r/fulltext_multi.result 2005-06-02 07:22:35.000000000 +0300 --- r/fulltext_multi.reject 2005-07-14 22:28:06.465817608 +0300 *************** *** 13,19 **** INSERT INTO t1 VALUES (3,'qpwoei','zmxnvb'); SELECT a, round(MATCH b AGAINST ('lala lkjh'),5) FROM t1; a round(MATCH b AGAINST ('lala lkjh'),5) ! 1 0.67003 2 0.00000 3 0.00000 SELECT a, round(MATCH c AGAINST ('lala lkjh'),5) FROM t1; --- 13,19 ---- INSERT INTO t1 VALUES (3,'qpwoei','zmxnvb'); SELECT a, round(MATCH b AGAINST ('lala lkjh'),5) FROM t1; a round(MATCH b AGAINST ('lala lkjh'),5) ! 1 0.00000 2 0.00000 3 0.00000 SELECT a, round(MATCH c AGAINST ('lala lkjh'),5) FROM t1; ------------------------------------------------------- Please follow the instructions outlined at http://www.mysql.com/doc/en/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 fulltext_order_by [ pass ]
[1 Aug 2005 9:44]
Sivakumar K
I am facing the same problem. This is a SuSE specific issue and is observed in 4.1.13 of the mysql code. The same tests pass in redhat machines. Some details of the issue are: A snipped from the diff output :: ------------------------------------------------------- *** r/fulltext.result 2005-07-23 03:07:18.000000000 +0300 --- r/fulltext.reject 2005-08-01 13:14:05.647559216 +0300 *************** insert t1 values ("aaa10 bbb20"), ("aaa20 bbb15"), ("aaa30 bbb10"); select * from t1 where match a against ("+aaa* +bbb*" in boolean mode); a - aaa10 bbb20 - aaa20 bbb15 - aaa30 bbb10 select * from t1 where match a against ("+aaa* +bbb1*" in boolean mode); a - aaa20 bbb15 - aaa30 bbb10 select * from t1 where match a against ("+aaa* +ccc*" in boolean mode); a select * from t1 where match a against ("+aaa10 +(bbb*)" in boolean mode); a - aaa10 bbb20 select * from t1 where match a against ("+(+aaa* +bbb1*)" in boolean mode); a - aaa20 bbb15 - aaa30 bbb10 select * from t1 where match a against ("(+aaa* +bbb1*)" in boolean mode); a - aaa20 bbb15 - aaa30 bbb10 **** The line "select * from t1 where match a against ("+aaa* +bbb*" in boolean mode)" is causing the error - the output from this seems to be no rows. - looks like the select's are not returning any values.
[30 Sep 2005 12:47]
Sergei Golubchik
looks like gcc bug (gcc 3.3.5 20050117 (prerelease) that comes with SuSE 9.3)
[15 Dec 2005 11:26]
Kristian Nielsen
FWIW, this bug reproduces on our host sles9-x86.mysql.com. The GCC version is: > gcc --version gcc (GCC) 3.3.3 (SuSE Linux) Copyright (C) 2003 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. This was for the newest mysql-5.0 BitKeeper sources. Will attack full output from failing tests.
[15 Dec 2005 11:30]
Kristian Nielsen
Output from failing fulltest test cases on sles9-x86.mysql.com
Attachment: knielsen (application/octet-stream, text), 10.33 KiB.
[19 Dec 2005 11:14]
Kristian Nielsen
FWIW, I managed to fix the fulltext problem on host sles9-x86.mysql.com by passing environment variables to ./configure as follows (copied from how it is done in our RPM release builds): CC => 'gcc' CXX => 'gcc' CFLAGS => '-O2 -g -march=i586 -mcpu=i686' CXXFLAGS => '-O2 -g -march=i586 -mcpu=i686' (mainly replacing the default -O3 with -O2, and using gcc instead of g++). For the record: > gcc --version gcc (GCC) 3.3.3 (SuSE Linux) Not sure how to fix the build scripts to make this work out-of-the-box.
[26 Jan 2007 8:46]
Kristian Nielsen
I verified that this failure still exists in latest mysql-5.0 BitKeeper on the host sles9-x86. This was building from a BitKeeper clone (changeset key 'svoj@mysql.com/april.(none)|ChangeSet|20070124213158|63194'). $ BUILD/compile-dist $ (cd mysql-test && MTR_BUILD_THREAD=4 perl mysql-test-run.pl fulltext) ... fulltext [ fail ] Even though this is actually a completely new host, as the old hardware for sles0-x86 died: $ cat /etc/SuSE-release SUSE LINUX Enterprise Server 9 (i586) VERSION = 9 $ gcc --version gcc (GCC) 3.3.3 (SuSE Linux) Copyright (C) 2003 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
[16 Jul 2007 10:19]
Sveta Smirnova
Bug #29811 was marked as duplicate of this one.
[16 Jul 2007 10:20]
Sveta Smirnova
Summary of the discussion about failure with 5.0 tree: Real problem is gcc bug. You should use optimization flag -O2 to successfully build MySQL on SUSE 9.
[16 Jul 2007 13:07]
Liam Gretton
Yes, that solves the problem. Many thanks Sveta, for the very fast response to this. Apologies for the duplicate bug, I didn't spot #11513 when I searched.