Hi all,

My MySQL crashed during simultaneous execution of "ALTER TABLE ... ENABLE
KEYS"
and "SHOW TABLE STATUS" statements.

There were 2 threads: #3 and #4.

In thread #4 I executed:
        4 Query       DROP TABLE IF EXISTS History
        4 Query       CREATE TABLE History ...
        4 Query       ALTER TABLE History DISABLE KEYS
        4 Query       LOCK TABLES History WRITE
        4 Query       INSERT INTO History VALUES ...
       4 Query       ALTER TABLE History ENABLE KEYS

In thread #3 I executed:
        3 Query       SHOW TABLE STATUS

And it looks like thread #3 was locked until "INSERT INTO History VALUES
..." finished.
After that "SHOW TABLE STATUS" statement executed and
when Mysql tried to execute "ALTER TABLE History ENABLE KEYS" it crashed.

Below there are error-log and query-log files:
==================================
/usr/local/mysql/bin/mysqld: ready for connections.
Version: '4.0.13-standard-log'  socket: '/tmp/mysql.sock'  port: 3306
mysqld got signal 11;
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=402653184
read_buffer_size=2093056
sort_buffer_size=2097144
max_used_connections=3
max_connections=100
threads_connected=4
It is possible that mysqld could use up to
key_buffer_size + (read_buffer_size + sort_buffer_size)*max_connections =
802415 K
bytes of memory
Hope that's ok; if not, decrease some variables in the equation.

thd=0x87631a8
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...
Cannot determine thread, fp=0xbfe1e958, backtrace may not be correct.
Stack range sanity check OK, backtrace follows:
0x80702cb
0x8282488
0x8283a23
0x8280ca4
0x827ed89
0x80d028f
0x80d1636
0x807b487
0x807e166
0x80797ad
0x80791ed
0x8078a0f
0x827fc3c
0x82b53fa
New value of fp=(nil) failed sanity check, terminating stack trace!
Please read http://www.mysql.com/doc/en/Using_stack_trace.html and follow
instructions on how to resolve the stack trace. Resolved
stack trace is much more helpful in diagnosing the problem, so please do
resolve it
Trying to get some variables.
Some pointers may be invalid and cause the dump to abort...
thd->query at 0x8773ae8 = ALTER TABLE History ENABLE KEYS
thd->thread_id=4

Successfully dumped variables, if you ran with --log, take a look at the
details of what thread 4 did to cause the crash.  In some cases of really
bad corruption, the values shown above may be invalid.

The manual page at http://www.mysql.com/doc/C/r/Crashing.html contains
information that should help you find out what is causing the crash.

Number of processes running now: 0
030606 09:00:37  mysqld restarted
030606  9:00:37  InnoDB: Database was not shut down normally.
InnoDB: Starting recovery from log files...
InnoDB: Starting log scan based on checkpoint at
InnoDB: log sequence number 0 1885531442
InnoDB: Doing recovery: scanned up to log sequence number 0 1885549589
030606  9:00:37  InnoDB: Starting an apply batch of log records to the
database...
InnoDB: Progress in percents: 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82
83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99
InnoDB: Apply batch completed
InnoDB: Last MySQL binlog file position 0 45770, file name ./saturn-bin.001
030606  9:00:38  InnoDB: Flushing modified pages from the buffer pool...
030606  9:00:38  InnoDB: Started
/usr/local/mysql/bin/mysqld: ready for connections.
Version: '4.0.13-standard-log'  socket: '/tmp/mysql.sock'  port: 3306

==================================
/usr/local/mysql/bin/mysqld, Version: 4.0.13-standard-log, started with:
Tcp port: 3306  Unix socket: /tmp/mysql.sock
Time                 Id Command    Argument
        4 Query       DROP TABLE IF EXISTS History
        4 Query       CREATE TABLE History (...) TYPE=MyISAM
        4 Query       ALTER TABLE History DISABLE KEYS
        4 Query       LOCK TABLES History WRITE
        4 Query       INSERT INTO History VALUES (...)
        3 Query       SHOW TABLE STATUS
030606  9:00:37       4 Query       ALTER TABLE History ENABLE KEYS
/usr/local/mysql/bin/mysqld, Version: 4.0.13-standard-log, started with:
Tcp port: 3306  Unix socket: /tmp/mysql.sock
Time                 Id Command    Argument
==================================

Mikhail.


-- 
MySQL General Mailing List
For list archives: http://lists.mysql.com/mysql
To unsubscribe:    http://lists.mysql.com/[EMAIL PROTECTED]

Reply via email to