Bug #43868 Upgrading to 6.0.10 causes Falcon to be unusable and Crashes Server
Submitted: 25 Mar 2009 23:21 Modified: 26 Mar 2009 18:27
Reporter: Chris Calender Email Updates:
Status: Duplicate Impact on me:
None 
Category:MySQL Server: Falcon storage engine Severity:S1 (Critical)
Version:6.0.10 - mysql-6.0.10-alpha-win32.msi OS:Windows
Assigned to: CPU Architecture:Any
Tags: 6.0.10, crash, falcon, regression, upgrade, windows

[25 Mar 2009 23:21] Chris Calender
Description:
Upgrading to 6.0.10 on Windows using the MSI installer results in Falcon being completely unusable.

If you try to create a new falcon table after upgrading, the server will crash.  If you try to look at an existing falcon table, using SHOW CREATE TABLE, mysql will crash.

After upgrading to 6.0.10 using the MSI installer, just try to create the following table:

USE test;
CREATE TABLE t (id INT) ENGINE=Falcon;
ERROR 2013 (HY000): Lost connection to MySQL server during query

Here are the related contents from the error log:

090325 18:57:56  InnoDB: Started; log sequence number 0 46409
090325 18:57:56 [Note] Event Scheduler: Loaded 0 events
090325 18:57:56 [Note] C:\Program Files\MySQL\MySQL Server 6.0\bin\mysqld: ready for connections.
Version: '6.0.10-alpha-community'  socket: ''  port: 3308  MySQL Community Server (GPL)
090325 19:04:22 - mysqld got exception 0xe06d7363 ;
This could be because you hit a bug. It is also possible that this binary
or one of the libraries it was linked against is corrupt, improperly built,
or misconfigured. This error can also be caused by malfunctioning hardware.
We will try our best to scrape up some info that will hopefully help diagnose
the problem, but since we have already crashed, something is definitely wrong
and this may fail.

key_buffer_size=26214400
read_buffer_size=65536
max_used_connections=1
max_threads=100
thread_count=1
connection_count=1
It is possible that mysqld could use up to 
key_buffer_size + (read_buffer_size + sort_buffer_size)*max_threads = 58261 K
bytes of memory
Hope that's ok; if not, decrease some variables in the equation.

thd: 0x1cf22068
Attempting backtrace. You can use the following information to find out
where mysqld died. If you see no messages after this, something went
terribly wrong...
77A9B09E    kernel32.dll!RaiseException()
0087198A    mysqld.exe!_CxxThrowException()[throw.cpp:161]
007CEC2E    mysqld.exe!CompiledStatement::checkAccess()[compiledstatement.cpp:1061]
007911DA    mysqld.exe!Database::compileStatement()[database.cpp:1245]
007936FC    mysqld.exe!Database::getCompiledStatement()[database.cpp:1189]
007CD2A4    mysqld.exe!PreparedStatement::setSqlString()[preparedstatement.cpp:59]
00791064    mysqld.exe!Database::prepareStatement()[database.cpp:1139]
0078307C    mysqld.exe!Connection::prepareStatement()[connection.cpp:234]
00776718    mysqld.exe!StorageTableShare::lookupPathName()[storagetableshare.cpp:789]
00776D1C    mysqld.exe!StorageTableShare::tableExists()[storagetableshare.cpp:780]
007750A9    mysqld.exe!StorageHandler::createTable()[storagehandler.cpp:659]
007721DD    mysqld.exe!StorageInterface::create()[ha_falcon.cpp:824]
00448D47    mysqld.exe!handler::ha_create()[handler.cc:3321]
0044CAC9    mysqld.exe!ha_create_table()[handler.cc:3541]
005E629A    mysqld.exe!rea_create_table()[unireg.cc:496]
005C4E86    mysqld.exe!mysql_create_table_no_lock()[sql_table.cc:3706]
005C5252    mysqld.exe!mysql_create_table()[sql_table.cc:3860]
0056692F    mysqld.exe!mysql_execute_command()[sql_parse.cc:2619]
0056ADC9    mysqld.exe!mysql_parse()[sql_parse.cc:5752]
0056B818    mysqld.exe!dispatch_command()[sql_parse.cc:1011]
0056C6BF    mysqld.exe!do_command()[sql_parse.cc:691]
005FC13A    mysqld.exe!handle_one_connection()[sql_connect.cc:1146]
00675714    mysqld.exe!pthread_start()[my_winthread.c:61]
0086E1AB    mysqld.exe!_callthreadstartex()[threadex.c:348]
0086E250    mysqld.exe!_threadstartex()[threadex.c:326]
77AC3833    kernel32.dll!BaseThreadInitThunk()
77D5A9BD    ntdll.dll!LdrInitializeThunk()
Trying to get some variables.
Some pointers may be invalid and cause the dump to abort...
thd->query at 1CF330B0=create table t (id int) engine=falcon
thd->thread_id=3
thd->killed=NOT_KILLED
The manual page at http://dev.mysql.com/doc/mysql/en/crashing.html contains
information that should help you find out what is causing the crash.

How to repeat:
1. Install 6.0.9 on Windows
2. Stop mysqld (net stop mysql6)
3. Install 6.0.10 (using MSI installer - mysql-6.0.10-alpha-win32.msi)
4. Try to create a Falcon table

USE test;
CREATE TABLE t (id INT) ENGINE=Falcon;
ERROR 2013 (HY000): Lost connection to MySQL server during query

Suggested fix:
N/A
[25 Mar 2009 23:37] Hakan Küçükyılmaz
This is already documented in the release notes:

If you are using the Falcon storage engine in MySQL 6.0.9-alpha, you are
encouraged to wait for the MySQL 6.0.11-alpha before upgrading.  Live
upgrade is not recommended for 6.0 alpha releases.  Users are strongly
encouraged to dump their database and reload them after the upgrade.  If
you are new to the Falcon storage engine, we encourage you to either test
Falcon in MySQL 6.0.9-alpha or wait for MySQL 6.0.11-alpha.

The 6.0.10 release contains a large number of bug fixes for Falcon.  After
6.0.10-alpha was built several bugs were reported and fixed, and will be
part of the MySQL 6.0.11-alpha release.
[25 Mar 2009 23:44] Chris Calender
Ah yes, my mistake.  Thank you for pointing that out.
[26 Mar 2009 18:27] Kevin Lewis
Duplicate of Bug #43562 - Crash when creating a Falcon table after upgrade from 6.0.9 to 6.0.10