Bug #36074 Long prefix index on TEXT column crash the server (InnoDB only)
Submitted: 15 Apr 2008 3:45 Modified: 17 Apr 2008 5:29
Reporter: Yuan WANG Email Updates:
Status: Can't repeat Impact on me:
None 
Category:MySQL Server: InnoDB storage engine Severity:S1 (Critical)
Version:5.0.60-debug-log OS:Linux (2.6.22-14-generic)
Assigned to: CPU Architecture:Any
Tags: crash, innodb, Prefix index

[15 Apr 2008 3:45] Yuan WANG
Description:
Long prefix index on TEXT column crash the server. This bug affects InnoDB only, with MyISAM table is OK.

How to repeat:
mysql> create table t(a TEXT, b int, index idx_t_a(a(400))) engine = innodb;
mysql> insert into t values('aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa', 1);
ERROR 2013 (HY000): Lost connection to MySQL server during query

Suggested fix:
Prevent the server from crashing.
[15 Apr 2008 6:42] Valeriy Kravchuk
Thank you for a problem report. Is it 32-bit or 64-bit Linux? As you built from sources (I assume), please, provide exact ./configure command line used and gcc version useed.

I can not repeat this with MySQL binaries of 5.0.58 on 32-bit Windows, for example:

C:\Program Files\MySQL\MySQL Server 5.1\bin>mysql -uroot -proot test -P3308
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 7
Server version: 5.0.58-enterprise-gpl-nt MySQL Enterprise Server (GPL)

Type 'help;' or '\h' for help. Type '\c' to clear the buffer.

mysql> drop table t;
Query OK, 0 rows affected (0.45 sec)

mysql> create table t(a TEXT, b int, index idx_t_a(a(400))) engine = innodb;
Query OK, 0 rows affected (0.09 sec)

mysql> insert into t
    -> values('aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa', 1);
Query OK, 1 row affected (0.05 sec)

So, this is either a recent regression or build/platform related problem.
[16 Apr 2008 10:55] Yuan WANG
I did a more careful test and found that if I create the table in mysql 5.0.44, it will crash. Then open the same data file in mysql 5.0.60 and insert it will also crash. However, if I create the table in 5.0.60 and insert in 5.0.60, it's OK.

So for current version of mysql this bug doesn't exist. I'm sorry for my mistake.