| 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 | |
[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.

Description: This might be a compiler/OS specific problem, as I have not seen it on any other build platform. When compiling 4.1 or 5.0 with BUILD/compile dist on SUSE Linux 9.3 (gcc 3.3.5), the "fulltext" test fails with the following diff (as noticed on 5.0): TEST RESULT ------------------------------------------------------- fulltext [ fail ] Errors are (from /home/lenz/my/mysql-5.0-build/mysql-test/var/log/mysqltest-time) : /home/lenz/my/mysql-5.0-build/client/.libs/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-21 12:32:19.000000000 +0300 --- r/fulltext.reject 2005-06-22 19:32:45.000000000 +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 *************** *** 166,173 **** 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'); --- 166,173 ---- 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'); *************** *** 369,375 **** 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 Osnabrck 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 --- 369,375 ---- 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 Osnabrck 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 ------------------------------------------------------- How to repeat: Compile using BUILD/compile-dist on SUSE Linux 9.3 and run "mysql-test-run fulltext"