John,

what Linux kernel version you are running? Did the first crash occur because
of the same assertion failure?

The InnoDB tablespace is probably corrupt and it asserts in purge or insert
buffer merge.

You can try starting with

innodb_force_recovery=4

in the [mysqld] section of your my.cnf. You can try to determine how
widespread the corruption is by running CHECK TABLE ... on your tables.

Then dump your tables and recreate the whole tablespace.

MySQL-4.0.14 will have the page checksum fixed. Then we will get more
information whether this kind of corruption originates in the file system.

It might also be an ordinary bug in InnoDB. It asserts in copying of records
to another page because a record does not fit though we have calculated it
should fit.

I have now added diagnostic code to 4.0.14 which will print hex dumps of the
pages if the assertion fails again.

Best regards,

Heikki Tuuri
Innobase Oy
http://www.innodb.com
Transactions, foreign keys, and a hot backup tool for MySQL
Order MySQL technical support from https://order.mysql.com/

...
        /* Copy records from the original page to the new page */

        sup = page_get_supremum_rec(page);

        while (sup != page_cur_get_rec(&cur1)) {
                ut_a(
                page_cur_rec_insert(&cur2, page_cur_get_rec(&cur1), mtr));

                page_cur_move_to_next(&cur1);
                page_cur_move_to_next(&cur2);
        }
...
----- Original Message ----- 
From: "John Smith" <[EMAIL PROTECTED]>
Newsgroups: mailing.database.mysql
Sent: Thursday, June 19, 2003 12:21 AM
Subject: Innodb error


> I'm getting this error in my log:
>
> ----------------------------------
> 030618 15:08:24  mysqld started
> 030618 15:08:24  InnoDB: Started
> 030618 15:08:24  /usr/sbin/mysqld: Can't create/write
> to file '/var/run/mysqld/mysqld.pid' (Errcode: 2)
> /usr/sbin/mysqld: ready for connections.
> Version: '4.0.12'  socket: '/var/lib/mysql/mysql.sock'
>  port: 3306
> 030618 15:08:26  InnoDB: Assertion failure in thread
> 28680 in file page0page.c line 450
> InnoDB: We intentionally generate a memory trap.
> InnoDB: Send a detailed bug report to
> [EMAIL PROTECTED]
> 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=67108864
> read_buffer_size=1044480
> 030618 15:08:26  mysqld ended
> ----------------------------------
>
> Prior to this, I was doing 'mysqldump -A ...' and
> mysql crashed. After rebooting the server I can get
> mysql running again, but most queries show 'connection
> lost', 'mysql gone away', etc. errors - but usually
> the queries work after the client automatically
> reconnects. 'mysqlcheck [-r] ...' dies with
> 'connection lost'.
>
> Please help!
>
> TIA,
> John
>
> __________________________________
> Do you Yahoo!?
> SBC Yahoo! DSL - Now only $29.95 per month!
> http://sbc.yahoo.com
>
> -- 
> MySQL General Mailing List
> For list archives: http://lists.mysql.com/mysql
> To unsubscribe:
http://lists.mysql.com/[EMAIL PROTECTED]
>



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

Reply via email to