Bug #25565 Assertion when killing a CREATE TABLE ... SELECT command
Submitted: 12 Jan 2007 0:17 Modified: 25 Jan 2007 20:55
Reporter: jocelyn fournier (Silver Quality Contributor) Email Updates:
Status: Closed Impact on me:
None 
Category:MySQL Server: Falcon storage engine Severity:S2 (Serious)
Version:5.2-Alpha OS:Linux (Linux)
Assigned to: CPU Architecture:Any

[12 Jan 2007 0:17] jocelyn fournier
Description:
Hi,

If a CREATE TABLE ... SELECT command is running and killed, the server will assert.

How to repeat:
You can use the table from ftp://ftp.mysql.com/pub/mysql/upload/i1.tar.gz to do the test :

use test
CREATE TABLE a ENGINE=Falcon SELECT * FROM test1.inscrit1;

Kill the CREATE TABLE process.

MySQL will crash : 

database open failed: can't open file "/home/mysql/test1.fts": No such file or directory (2)
mysqld got signal 4;
...

Stack Trace : 

0x8228e50 handle_segfault + 356
0x222fc825 _end + 430572885
0x223d0741 _end + 431441009
0x222f9a7b _end + 430561195
0x83a6972 Error::error(char const*, ...) + 78
0x83a6a7a Error::assertionFailed(char const*, int) + 22
0x8415f1a RecordLocatorPage::linkSpaceSlot(int, int) + 170
0x8416411 RecordLocatorPage::setIndexSlot(int, int, int, int) + 221
0x8415ab6 RecordLocatorPage::deleteLine(int, int) + 34
0x83eb545 Section::updateRecord(int, Stream*, unsigned int, bool) + 809
0x83a33c0 Dbb::updateRecord(int, int, Stream*, unsigned int, bool) + 164
0x839b769 Database::updateRecord(int, int, Stream*, Transaction*) + 41
0x837f6f9 Table::expungeBlob(Value*) + 113
0x837f883 Table::garbageCollect(Record*, Record*, Transaction*, bool) + 299
0x837da46 Table::rollbackRecord(RecordVersion*) + 74
0x83c6f0c RecordVersion::rollback() + 32
0x8384c3e Transaction::rollback() + 274
0x8394119 Connection::rollback() + 37
0x8374a8d StorageConnection::rollback() + 53
0x837713b StorageHandler::rollback(THD*) + 115
0x836ac21 NfsStorageTable::rollback(handlerton*, THD*, bool) + 49
0x82d87a4 ha_rollback_trans(THD*, bool) + 156
0x828fffa select_create::send_error(unsigned int, char const*) + 58
0x826ef31 handle_select(THD*, st_lex*, select_result*, unsigned long) + 113
0x8241dc4 mysql_execute_command(THD*) + 1660
0x8248252 mysql_parse(THD*, char*, unsigned int) + 290
0x824048f dispatch_command(enum_server_command, THD*, char*, unsigned int) +
0x8240065 do_command(THD*) + 129
0x823f6bd handle_one_connection + 621
0x222f6e51 _end + 430549889
0x2247e8aa _end + 432154074

Regards,
  Jocelyn Fournier
[12 Jan 2007 11:22] MySQL Verification Team
Thank you for the bug report.

mysql> CREATE TABLE a ENGINE=Falcon SELECT * FROM inscrit1;
ERROR 2013 (HY000): Lost connection to MySQL server during query
mysql>
[24 Jan 2007 23:09] Ann Harrison
I think this is a duplicate of 25564, which Jim just fixed.
[25 Jan 2007 20:46] jocelyn fournier
Hi,

I confirm this doesn't occur anymore with the latest changeset in the bk tree.

Regards,
  Jocelyn
[25 Jan 2007 20:55] Hakan Küçükyılmaz
Jocelyn,

thanks for your efforts and testing the fix.

Regards, Hakan