Bug #65233 | Using percent sign in FTS crashes the server | ||
---|---|---|---|
Submitted: | 7 May 2012 21:34 | Modified: | 24 Dec 2012 8:25 |
Reporter: | Vyacheslav Brover | Email Updates: | |
Status: | Duplicate | Impact on me: | |
Category: | MySQL Server: FULLTEXT search | Severity: | S1 (Critical) |
Version: | 5.6.5-m8-log | OS: | Linux (Linux 2.6.18-194.32.1.el5) |
Assigned to: | CPU Architecture: | Any | |
Tags: | BINARY, crash, fts, percent, utf8 |
[7 May 2012 21:34]
Vyacheslav Brover
[7 May 2012 22:35]
MySQL Verification Team
Could you please provide the complete test case (create table, insert and so on) I could not repeat on my own. Provide the my.cnf too. Thanks.
[7 May 2012 23:14]
Vyacheslav Brover
How to reproduce: create table test.TAB ( Id int(6) not null, Title varbinary(4000), primary key (Id) ) ENGINE=InnoDB DEFAULT CHARSET=latin1; insert into test.TAB (Id, Title) values (1, 'aa'); insert into test.TAB (Id, Title) values (2, 'bb'); insert into test.TAB (Id, Title) values (3, 'protein'); alter table test.TAB modify Title varchar(4000) CHARACTER SET utf8 COLLATE utf8_bin; create fulltext index Title_fts on test.TAB (Title); select Id from test.TAB where match(Title) against ('protein%');
[7 May 2012 23:16]
Vyacheslav Brover
my.cnf
Attachment: my.cnf (application/octet-stream, text), 4.59 KiB.
[7 May 2012 23:46]
MySQL Verification Team
Thank you for the feedback. Verified as described. Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 5 Server version: 5.6.5-m8 MySQL Community Server (GPL) Copyright (c) 2000, 2012, Oracle and/or its affiliates. All rights reserved. Oracle is a registered trademark of Oracle Corporation and/or its affiliates. Other names may be trademarks of their respective owners. Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. mysql> create table test.TAB -> ( -> Id int(6) not null, -> Title varbinary(4000), -> primary key (Id) -> ) ENGINE=InnoDB DEFAULT CHARSET=latin1; Query OK, 0 rows affected (0.07 sec) mysql> mysql> insert into test.TAB (Id, Title) values (1, 'aa'); Query OK, 1 row affected (0.03 sec) mysql> insert into test.TAB (Id, Title) values (2, 'bb'); Query OK, 1 row affected (0.04 sec) mysql> insert into test.TAB (Id, Title) values (3, 'protein'); Query OK, 1 row affected (0.03 sec) mysql> mysql> alter table test.TAB modify Title varchar(4000) CHARACTER SET utf8 COLLATE utf8_bin; Query OK, 3 rows affected (0.23 sec) Records: 3 Duplicates: 0 Warnings: 0 mysql> create fulltext index Title_fts on test.TAB (Title); Query OK, 0 rows affected (0.33 sec) Records: 0 Duplicates: 0 Warnings: 0 mysql> mysql> select Id from test.TAB where match(Title) against ('protein%'); ERROR 2013 (HY000): Lost connection to MySQL server during query mysql>
[10 May 2012 23:08]
MySQL Verification Team
Looks like is already fixed: d:\dbs>d:\dbs\5.6\bin\mysql -uroot --port=3540 --prompt="mysql 5.6 >" Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 3 Server version: 5.6.6-m9 Source distribution Copyright (c) 2000, 2012, Oracle and/or its affiliates. All rights reserved. Oracle is a registered trademark of Oracle Corporation and/or its affiliates. Other names may be trademarks of their respective owners. Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. mysql 5.6 >create table test.TAB -> ( -> Id int(6) not null, -> Title varbinary(4000), -> primary key (Id) -> ) ENGINE=InnoDB DEFAULT CHARSET=latin1; Query OK, 0 rows affected (0.00 sec) mysql 5.6 >insert into test.TAB (Id, Title) values (1, 'aa'); Query OK, 1 row affected (0.00 sec) mysql 5.6 >insert into test.TAB (Id, Title) values (2, 'bb'); Query OK, 1 row affected (0.00 sec) mysql 5.6 >insert into test.TAB (Id, Title) values (3, 'protein'); Query OK, 1 row affected (0.01 sec) mysql 5.6 >alter table test.TAB modify Title varchar(4000) CHARACTER SET utf8 COLLATE utf8_bin; Query OK, 3 rows affected (0.26 sec) Records: 3 Duplicates: 0 Warnings: 0 mysql 5.6 >create fulltext index Title_fts on test.TAB (Title); Query OK, 0 rows affected, 1 warning (0.08 sec) Records: 0 Duplicates: 0 Warnings: 1 mysql 5.6 >show warnings; +---------+------+--------------------------------------------------+ | Level | Code | Message | +---------+------+--------------------------------------------------+ | Warning | 124 | InnoDB rebuilding table to add column FTS_DOC_ID | +---------+------+--------------------------------------------------+ 1 row in set (0.00 sec) mysql 5.6 >select Id from test.TAB where match(Title) against ('protein%'); +----+ | Id | +----+ | 3 | +----+ 1 row in set (0.00 sec) mysql 5.6 >SHOW CREATE TABLE test.TAB; +-------+------------------------------------------------------------------ ------------------------------------------------------------------------+ | Table | Create Table | +-------+------------------------------------------------------------------ ------------------------------------------------------------------------+ | TAB | CREATE TABLE `tab` ( `Id` int(6) NOT NULL, `Title` varchar(4000) CHARACTER SET utf8 COLLATE utf8_bin DEFAULT NULL, PRIMARY KEY (`Id`), FULLTEXT KEY `Title_fts` (`Title`) ) ENGINE=InnoDB DEFAULT CHARSET=latin1 | +-------+------------------------------------------------------------------ ------------------------------------------------------------------------+ 1 row in set (0.00 sec)
[24 Dec 2012 8:25]
Erlend Dahl
This is a duplicate of Bug #64901 InnoDB: Assertion failure in thread 34387022112 in file rem0cmp.cc line 584 - which was fixed in 5.6.6.