InnoDB crashes after 4.1.8 -> 4.1.9 upgrade

InnoDB crashes after 4.1.8 -> 4.1.9 upgrade

am 17.01.2005 06:37:31 von ivski

Hello,

I have a couple of InnoDB databases that use innodb_file_per_table. The server worked just fine
until I upgraded from v4.1.8 to v4.1.9. The server started, but the first attempt to access a table
resulted in MySQL crash. The log follows

----
050117 3:07:34 InnoDB: Started; log sequence number 4 2606034084
C:\MySQL\bin\mysqld-nt: ready for connections.
Version: '4.1.9-nt-log' socket: '' port: 3306 Source distribution
050117 3:07:59 InnoDB: Operating system error number 87 in a file operation.
InnoDB: Some operating system error numbers are described at
InnoDB: http://dev.mysql.com/doc/mysql/en/Operating_System_error_cod es.html
InnoDB: File operation call: 'read'.
InnoDB: Cannot continue operation.
----


After the crash MySQL refused (and kept refusing) to start with the following error:

----
050117 6:31:34 InnoDB: Database was not shut down normally!
InnoDB: Starting crash recovery.
InnoDB: Reading tablespace information from the .ibd files...
InnoDB: Restoring possible half-written data pages from the doublewrite
InnoDB: buffer...
050117 6:31:37 InnoDB: Operating system error number 87 in a file operation.
InnoDB: Some operating system error numbers are described at
InnoDB: http://dev.mysql.com/doc/mysql/en/Operating_System_error_cod es.html
InnoDB: File operation call: 'read'.
InnoDB: Cannot continue operation.
----

I was able to start MySQL by setting innodb_force_recovery to 6 (it wouldn't start with a lower
number), but *any* operation involving databases/tables (even drop database) made it crash with the
following messages in the log file:

----
C:\MySQL\bin\mysqld-nt: ready for connections.
Version: '4.1.9-nt-log' socket: '' port: 3306 Source distribution
050117 6:53:34 InnoDB: error: space object of table forex/accounts,
InnoDB: space id 1662 did not exist in memory. Retrying an open.
050117 6:53:34 InnoDB: error: space object of table forex/balance,
InnoDB: space id 1663 did not exist in memory. Retrying an open.
050117 6:53:34 InnoDB: error: space object of table forex/orders,
InnoDB: space id 1664 did not exist in memory. Retrying an open.
050117 6:53:34 InnoDB: Operating system error number 87 in a file operation.
InnoDB: Some operating system error numbers are described at
InnoDB: http://dev.mysql.com/doc/mysql/en/Operating_System_error_cod es.html
InnoDB: File operation call: 'read'.
InnoDB: Cannot continue operation.
----



I completely deleted the InnoDB tablespace and restored it from a backup. Started MySQL (without
force recovery) with the same result: the first time it started normally, the first query accessing
the database made it crash, it wouldn't start after the crash.

I rolled back to v4.1.8 and it works just fine, even without rebuilding the tablespace; that is, the
same tablespace that makes v4.1.9 crash is fine for v4.1.8.

I'm running Windows XP SP2 English on a 3.2GHz P4 with 1Gb of RAM. The biggest InnoDB database takes
~3Gb of disk space and consists of ~140 tables.

I noticed that v4.1.9 contants some important InnoDB fixes so any help on resolving this issue is
appreciated.

my.cnf content follows:

[client]
port=3306

[mysqld]

log_slow_queries=slowqueries.log
log_warnings=1
long_query_time=8
log_error=mysql.err

lower_case_table_names=1
port=3306
basedir=C:\MySQL\
datadir=D:\_MySQL\Data
default-character-set=utf8
default-storage-engine=InnoDB
max_connections=50
query_cache_size=32M
table_cache=768
tmp_table_size=52M


myisam_max_sort_file_size=100G
myisam_max_extra_sort_file_size=100G
myisam_sort_buffer_size=103M
key_buffer_size=12M
read_rnd_buffer_size=2M
sort_buffer_size=256K

innodb_data_home_dir=D:\_MySQL\InnoDB\
innodb_additional_mem_pool_size=8M
innodb_flush_log_at_trx_commit=0
innodb_log_buffer_size=2M
innodb_buffer_pool_size=128M
innodb_log_file_size=64M
innodb_thread_concurrency=8
innodb_file_per_table
innodb_open_files=2048

tmpdir=C:\TEMP

innodb_log_arch_dir=D:\_MySQL\InnoDB\logs
innodb_log_group_home_dir=D:\_MySQL\InnoDB\logs
innodb_data_file_path=ibdata1:10M:autoextend
log-bin=binlog
max_binlog_size=256M
max_allowed_packet=32M


--
MySQL Windows Mailing List
For list archives: http://lists.mysql.com/win32
To unsubscribe: http://lists.mysql.com/win32?unsub=gcdmw-win32@m.gmane.org

Re: InnoDB crashes after 4.1.8 -> 4.1.9 upgrade

am 20.01.2005 17:27:55 von Heikki Tuuri

John,

you can work around the bug by putting

innodb_flush_method=unbuffered

to your my.cnf.

http://bugs.mysql.com/bug.php?id=8021

Thank you for noticing this bug. When I fixed the critical bug #7496, I
introduced this bug on Windows.

Heikki

....................

Hello,

I have a couple of InnoDB databases that use innodb_file_per_table. The
server worked just
fine
until I upgraded from v4.1.8 to v4.1.9. The server started, but the first
attempt to
access a table
resulted in MySQL crash. The log follows

----
050117 3:07:34 InnoDB: Started; log sequence number 4 2606034084
C:\MySQL\bin\mysqld-nt: ready for connections.
Version: '4.1.9-nt-log' socket: '' port: 3306 Source distribution
050117 3:07:59 InnoDB: Operating system error number 87 in a file
operation.
InnoDB: Some operating system error numbers are described at
InnoDB: http://dev.mysql.com/doc/mysql/en/Operating_System_error_cod es.html
InnoDB: File operation call: 'read'.
InnoDB: Cannot continue operation.
----


After the crash MySQL refused (and kept refusing) to start with the
following error:

----
050117 6:31:34 InnoDB: Database was not shut down normally!
InnoDB: Starting crash recovery.
InnoDB: Reading tablespace information from the .ibd files...
InnoDB: Restoring possible half-written data pages from the doublewrite
InnoDB: buffer...
050117 6:31:37 InnoDB: Operating system error number 87 in a file
operation.
InnoDB: Some operating system error numbers are described at
InnoDB: http://dev.mysql.com/doc/mysql/en/Operating_System_error_cod es.html
InnoDB: File operation call: 'read'.
InnoDB: Cannot continue operation.
----

I was able to start MySQL by setting innodb_force_recovery to 6 (it wouldn't
start with a
lower
number), but *any* operation involving databases/tables (even drop database)
made it crash
with the
following messages in the log file:

----
C:\MySQL\bin\mysqld-nt: ready for connections.
Version: '4.1.9-nt-log' socket: '' port: 3306 Source distribution
050117 6:53:34 InnoDB: error: space object of table forex/accounts,
InnoDB: space id 1662 did not exist in memory. Retrying an open.
050117 6:53:34 InnoDB: error: space object of table forex/balance,
InnoDB: space id 1663 did not exist in memory. Retrying an open.
050117 6:53:34 InnoDB: error: space object of table forex/orders,
InnoDB: space id 1664 did not exist in memory. Retrying an open.
050117 6:53:34 InnoDB: Operating system error number 87 in a file
operation.
InnoDB: Some operating system error numbers are described at
InnoDB: http://dev.mysql.com/doc/mysql/en/Operating_System_error_cod es.html
InnoDB: File operation call: 'read'.
InnoDB: Cannot continue operation.
----



I completely deleted the InnoDB tablespace and restored it from a backup.
Started MySQL
(without
force recovery) with the same result: the first time it started normally,
the first query
accessing
the database made it crash, it wouldn't start after the crash.

I rolled back to v4.1.8 and it works just fine, even without rebuilding the
tablespace;
that is, the
same tablespace that makes v4.1.9 crash is fine for v4.1.8.

I'm running Windows XP SP2 English on a 3.2GHz P4 with 1Gb of RAM. The
biggest InnoDB
database takes
~3Gb of disk space and consists of ~140 tables.

I noticed that v4.1.9 contants some important InnoDB fixes so any help on
resolving this
issue is
appreciated.

my.cnf content follows:

[client]
port=3306

[mysqld]

log_slow_queries=slowqueries.log
log_warnings=1
long_query_time=8
log_error=mysql.err

lower_case_table_names=1
port=3306
basedir=C:\MySQL\
datadir=D:\_MySQL\Data
default-character-set=utf8
default-storage-engine=InnoDB
max_connections=50
query_cache_size=32M
table_cache=768
tmp_table_size=52M


myisam_max_sort_file_size=100G
myisam_max_extra_sort_file_size=100G
myisam_sort_buffer_size=103M
key_buffer_size=12M
read_rnd_buffer_size=2M
sort_buffer_size=256K

innodb_data_home_dir=D:\_MySQL\InnoDB\
innodb_additional_mem_pool_size=8M
innodb_flush_log_at_trx_commit=0
innodb_log_buffer_size=2M
innodb_buffer_pool_size=128M
innodb_log_file_size=64M
innodb_thread_concurrency=8
innodb_file_per_table
innodb_open_files=2048

tmpdir=C:\TEMP

innodb_log_arch_dir=D:\_MySQL\InnoDB\logs
innodb_log_group_home_dir=D:\_MySQL\InnoDB\logs
innodb_data_file_path=ibdata1:10M:autoextend
log-bin=binlog
max_binlog_size=256M
max_allowed_packet=32M


--
MySQL Windows Mailing List
For list archives: http://lists.mysql.com/win32
To unsubscribe: http://lists.mysql.com/win32?unsub=gcdmw-win32@m.gmane.org