Bug #33517 | Falcon crash on recovery | ||
---|---|---|---|
Submitted: | 26 Dec 2007 15:10 | Modified: | 9 Oct 2008 11:24 |
Reporter: | Philip Stoev | Email Updates: | |
Status: | Closed | Impact on me: | |
Category: | MySQL Server: Falcon storage engine | Severity: | S3 (Non-critical) |
Version: | 6.0.4 | OS: | Any |
Assigned to: | Jim Starkey | CPU Architecture: | Any |
[26 Dec 2007 15:10]
Philip Stoev
[26 Dec 2007 15:12]
Philip Stoev
Tablespace archive is at ftp://ftp.mysql.com/pub/mysql/upload/bug33517.zip
[26 Dec 2007 20:01]
MySQL Verification Team
Call Stack on Windows
Attachment: call_stack_windows_bug33517.txt (text/plain), 4.37 KiB.
[26 Dec 2007 20:03]
MySQL Verification Team
Thank you for the bug report. c:\dbs>6.0t\bin\mysql -uroot Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 1 Server version: 6.0.5-alpha-team-tree-nt Source distribution Type 'help;' or '\h' for help. Type '\c' to clear the buffer. mysql> use systest1 Database changed mysql> show tables; +--------------------+ | Tables_in_systest1 | +--------------------+ | ddl_logs | | event_log | | tb0_eng1 | | tb0_eng2 | | tb0_logs | | tb0_master | | tb1_aux | | tb1_eng1 | | tb1_eng2 | | tb1_logs | | tb1_master | | tb2_eng1 | | tb3_eng1 | | tb4_eng1 | | tb5_eng1 | | tb6_eng1 | | tb7_eng1 | | tb8_eng1 | | tb9_eng1 | | test_stat | +--------------------+ 20 rows in set (0.19 sec) mysql> desc tb0_eng1\G ERROR 2013 (HY000): Lost connection to MySQL server during query mysql> See Call Stack attached.
[26 Dec 2007 20:03]
Philip Stoev
This bug is about the crash in the recovery, about the actual crash which lead to the need to recover, please see bug #33518. Thank you for doing the stack so prettily -- I will take care to do that myself in the future.
[27 Dec 2007 8:53]
Philip Stoev
Running recovery with falcon_debug_log=65535 causes this to be printed into the log before the crash: Recovering database /home/qauser/6.0.4/systest_vardir-hang/master-data/falcon_master.fts ... first recovery block is 3806 last recovery block is 62295 recovery read block is 6365 Exception: buffer pool is exhausted Bugcheck: assertion failed at line 125 in file SyncObject.cpp 071227 9:50:17 - mysqld got signal 4;
[31 Dec 2007 21:51]
Jim Starkey
I was able to unzip and recover the database files in the archive shell.mysql.com:/supportftp/pub/mysql/upload/bug33517.zip without error. The dates of the files in the archive correspond to the description above, but there are no table spaces other than the defaults, and only a single table, T1, present. Is it possible that the archive does not correspond to the original bug? If the problem can be made to re-appear, please re-open the bug. But for the time being, there's nothing more I can do with it.
[1 Jan 2008 13:42]
Philip Stoev
I am able to repeat the bug with the latest BK tree. Here are the steps I used: 1. compile 6.0 BK with compile-pentium-debug-max-no-ndb 2. Run mysqld: ./mysqld --datadir=/build/bug33517/master-data/ --language=/build/mysql-6.0/sql/share/english --falcon_debug_mask=65535 3. With a mysql client, execute: mysql> use systest1; Database changed mysql> show tables; mysql> desc tb0_eng1; ERROR 2013 (HY000): Lost connection to MySQL server during query The mysqld stderr contains numerous instances of: "DataPage::computeSpaceAvailable got a negative number" Linux philips 2.6.21-1.3194.fc7 #1 SMP Wed May 23 22:35:01 EDT 2007 i686 i686 i386 GNU/Linux 32-bit virtual machine inside 32-bit VMware Player on an a 32-bit OS on a Intel Core Duo.
[1 Jan 2008 14:15]
Philip Stoev
I can confirm that shell.mysql.com:/supportftp/pub/mysql/upload/bug33517.zip is the correct file to reproduce the problem. This tablespace does not contain a table named T1. Instead, it contains a systest1 database with contents as described by Mr. Solorzano.
[4 Jan 2008 16:14]
Jim Starkey
There was a missing call to release a buffer descriptor block in a recovery path.
[25 Feb 2008 18:08]
Kevin Lewis
Patch is in mysql-6.0-release version 6.0.4
[9 Oct 2008 11:24]
Jon Stephens
Documented bugfix in the 6.0.4 changelog as follows: Table recovery failed repeatedly after starting the server with a corrupted Falcon tablespace, which caused the server to crash.