Bug #25474 ALTER TABLE hits assertion
Submitted: 8 Jan 2007 19:20 Modified: 18 Jan 2007 22:27
Reporter: Hakan Küçükyılmaz Email Updates:
Status: Closed Impact on me:
None 
Category:MySQL Server: Falcon storage engine Severity:S2 (Serious)
Version:5.2-falcon-alpha OS:Linux (Linux)
Assigned to: CPU Architecture:Any

[8 Jan 2007 19:20] Hakan Küçükyılmaz
Description:
ALTER TABLE hits assertion when converting from MyISAM to Falcon.

How to repeat:
mysql -uroot test < DSYAD.sql

mysql> ALTER TABLE DSYAD Engine Falcon;

Please find DSYAD.sql.tar.gz at:
https://intranet.mysql.com/secure/files/DSYAD.sql.tar.gz

Backtrace is:
Program received signal SIGILL, Illegal instruction.
[Switching to Thread 1080576352 (LWP 22631)]
0x0000002a95bf0479 in raise () from /lib64/tls/libc.so.6
(gdb) 
(gdb) 
(gdb) bt
#0  0x0000002a95bf0479 in raise () from /lib64/tls/libc.so.6
#1  0x000000000085b436 in Error::debugBreak () at Error.cpp:93
#2  0x000000000085b3bd in Error::error (string=0xba27d0 "assertion failed at line %d in file %s\n") at Error.cpp:70
#3  0x000000000085b41b in Error::assertionFailed (fileName=0xba4bd5 "IndexRootPage.cpp", line=983) at Error.cpp:77
#4  0x000000000087072a in IndexRootPage::indexMerge (dbb=0x2a96452cc8, indexId=30, logRecord=0x40683f10, transId=0)
    at IndexRootPage.cpp:983
#5  0x00000000008c5050 in SRLUpdateIndex::execute (this=0x40683f10) at SRLUpdateIndex.cpp:155
#6  0x00000000008c4f40 in SRLUpdateIndex::commit (this=0x40683f10) at SRLUpdateIndex.cpp:135
#7  0x00000000008af659 in SerialLogTransaction::commit (this=0x2a964925c0) at SerialLogTransaction.cpp:62
#8  0x00000000008af905 in SerialLogTransaction::doAction (this=0x2a964925c0) at SerialLogTransaction.cpp:119
#9  0x00000000008ab678 in SerialLog::gopherThread (this=0x2a962b6c38) at SerialLog.cpp:156
#10 0x00000000008ab4ff in SerialLog::gopherThread (arg=0x2a962b6c38) at SerialLog.cpp:121
#11 0x0000000000828e49 in Thread::thread (this=0x2a9645d8a8) at Thread.cpp:162
#12 0x0000000000828db1 in Thread::thread (parameter=0x2a9645d8a8) at Thread.cpp:139
#13 0x0000002a95ef2b8f in start_thread () from /lib64/tls/libpthread.so.0
#14 0x0000002a95c7c4b3 in clone () from /lib64/tls/libc.so.6
#15 0x0000000000000000 in ?? ()
[8 Jan 2007 20:51] Hakan Küçükyılmaz
Workaround exits.
[12 Jan 2007 20:28] Kevin Lewis
I cannot reproduce this on Windows.
[18 Jan 2007 15:28] Hakan Küçükyılmaz
Can't reproduce on Linux 32-bit. I am trying it on Linux 64-bit now.

Regards, Hakan
[18 Jan 2007 15:36] MySQL Verification Team
I was unable to repeat:

mysql> ALTER TABLE DSYAD Engine Falcon;
Query OK, 2316 rows affected (0.13 sec)
Records: 2316  Duplicates: 0  Warnings: 0

mysql> show create table DSYAD\G
*************************** 1. row ***************************
       Table: DSYAD
Create Table: CREATE TABLE `DSYAD` (
  `OUTLINE` varchar(12) COLLATE latin1_bin NOT NULL DEFAULT ' ',
  `VIEWNAME` varchar(12) COLLATE latin1_bin NOT NULL DEFAULT ' ',
  `PARENT_CLS` varchar(4) COLLATE latin1_bin NOT NULL DEFAULT ' ',
  `PARENT_OBJ` varchar(60) COLLATE latin1_bin NOT NULL DEFAULT ' ',
  `PARENT_LEV` varchar(2) COLLATE latin1_bin NOT NULL DEFAULT '00',
  `SEQN4` varchar(4) COLLATE latin1_bin NOT NULL DEFAULT '0000',
  `ORIG_OUTL` varchar(12) COLLATE latin1_bin NOT NULL DEFAULT ' ',
  `CHILD_CLS` varchar(4) COLLATE latin1_bin NOT NULL DEFAULT ' ',
  `CHILD_OBJ` varchar(60) COLLATE latin1_bin NOT NULL DEFAULT ' ',
  PRIMARY KEY (`OUTLINE`,`VIEWNAME`,`PARENT_CLS`,`PARENT_OBJ`,`PARENT_LEV`,`SEQN4`),
  KEY `DSYAD~BM` (`CHILD_OBJ`),
  KEY `DSYAD~HLP` (`VIEWNAME`,`CHILD_CLS`,`OUTLINE`,`CHILD_OBJ`)
) ENGINE=Falcon DEFAULT CHARSET=latin1 COLLATE=latin1_bin
1 row in set (0.01 sec)
[18 Jan 2007 22:27] Hakan Küçükyılmaz
Can't repeat it on Linux 64-bit, either. I am closing this bug report.

Regards, Hakan