Hi! It was the same rollback bug which caused also crash in the case you ran out of tablespace. I had overlooked that the same bug causes problems also if you rollback a transaction which has updated the same row more than once. You can download the fixed /mysql/innobase/row/row0undo.c from my website (look at May 14, 2001): http://www.innodb.com/bugfixes.html or you can just edit the file row0undo.c and remove the call to trx_undo_rec_release from line 174. Regards, Heikki Tuuri Innobase Oy >>Description: > > InnoDB crashes when a ROLLBACK of multiple "LOAD DATA INFILE 'file' > REPLACE INTO 'table' commands. > mysqld will not startup again because InnoDB attempts the rollback > and crashes again. > >>How-To-Repeat: > >#create a data file (100,000 lines of 3 integers from 0 to 999999) >perl -e 'for($i=0; $i<100000; $i++){print "$i\t$i\t$i\n";}' > /tmp/data > ># create a table: >create table speed1 (a int not null, b int, c int, primary key (a), index (b)) TYPE=INNODB > >mysql> SET AUTOCOMMIT=0; >Query OK, 0 rows affected (0.01 sec) > >mysql> LOAD DATA INFILE "/tmp/data.dat" REPLACE INTO TABLE speed1; >Query OK, 200000 rows affected (5.60 sec) >Records: 100000 Deleted: 100000 Skipped: 0 Warnings: 0 > >mysql> ROLLBACK; >Query OK, 0 rows affected (2.08 sec) > >mysql> LOAD DATA INFILE "/tmp/data.dat" REPLACE INTO TABLE speed1; >Query OK, 200000 rows affected (5.59 sec) >Records: 100000 Deleted: 100000 Skipped: 0 Warnings: 0 > >mysql> LOAD DATA INFILE "/tmp/data.dat" REPLACE INTO TABLE speed1; >Query OK, 200000 rows affected (5.92 sec) >Records: 100000 Deleted: 100000 Skipped: 0 Warnings: 0 > >mysql> ROLLBACK; >ERROR 2013: Lost connection to MySQL server during query >mysql> > >Running mysqld in gdb results in the following: > >(gdb) run --basedir=/usr/local/mysql --datadir=/var/lib/mysql --user=root --pid-Starting >program: /usr/local/mysql/libexec/mysqld --basedir=/usr/local/mysql --dInnoDB: 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 269517328 >InnoDB: Doing recovery: scanned up to log sequence number 0 269582848 >InnoDB: Doing recovery: scanned up to log sequence number 0 269648384 >InnoDB: Doing recovery: scanned up to log sequence number 0 269713920 >InnoDB: Doing recovery: scanned up to log sequence number 0 269779456 >InnoDB: Doing recovery: scanned up to log sequence number 0 269844992 >InnoDB: Doing recovery: scanned up to log sequence number 0 269910528 >. >. >. >InnoDB: Doing recovery: scanned up to log sequence number 0 280330752 >InnoDB: Doing recovery: scanned up to log sequence number 0 280396288 >InnoDB: Doing recovery: scanned up to log sequence number 0 280424053 >Innobase: 1 uncommitted transaction(s) which must be rolled back >Innobase: Starting rollback of uncommitted transactions >Innobase: Rolling back trx no 194872 > >Program received signal SIGSEGV, Segmentation fault. >0x811c9f8 in trx_undo_rec_release () >(gdb) bt >#0 0x811c9f8 in trx_undo_rec_release () >#1 0x80fc97e in row_undo_mod () >#2 0x80f74a5 in row_undo () >#3 0x80f75b1 in row_undo_step () >#4 0x80de1e4 in que_run_threads () >#5 0x811b9ee in trx_rollback_all_without_sess () >#6 0x813ad9b in recv_recovery_from_checkpoint_finish () >#7 0x80dca09 in innobase_start_or_create_for_mysql () >#8 0x80b9d50 in innobase_init () >#9 0x80b44d4 in ha_init () >#10 0x806f8b2 in main () >#11 0x81cbd15 in __libc_start_main (main=0x806f000 <main>, argc=6, ubp_av=0xbffffa54, >init=0x80480b4 <_init>, > fini=0x8239d00 <_fini>, rtld_fini=0, stack_end=0xbffffa4c) at ../sysdeps/generic/libc-start.c:129 > >>Fix: >None known. > >>Submitter-Id: <submitter ID> >>Originator: Jeff Shelman >>Organization: >>MySQL support: none >>Synopsis: mysqld (InnoDB) crashes on ROLLBACK >>Severity: critical >>Priority: high >>Category: mysql >>Class: sw-bug >>Release: mysql-3.23.38 (Source distribution) > >>Environment: > >System: Linux shado 2.4.3-20mdk #1 Sun Apr 15 23:03:10 CEST 2001 i686 unknown >Architecture: i686 > >Some paths: /usr/bin/perl /usr/bin/make /usr/bin/gmake /usr/bin/gcc /usr/bin/cc >GCC: Reading specs from /usr/lib/gcc-lib/i586-mandrake-linux/2.96/specs >gcc version 2.96 20000731 (Linux-Mandrake 8.0 2.96-0.48mdk) >Compilation info: CC='gcc' CFLAGS='-O3 -mpentiumpro' CXX='gcc' CXXFLAGS='-O3 >-mpentiumpro -felide-constructors -fno-exceptions -fno-rtti' LDFLAGS='' >LIBC: >lrwxrwxrwx 1 root root 13 May 1 20:19 /lib/libc.so.6 -> libc-2.2.2.so >-rwxr-xr-x 1 root root 1216268 Feb 21 03:38 /lib/libc-2.2.2.so >-rw-r--r-- 1 root root 26366908 Feb 21 03:31 /usr/lib/libc.a >-rw-r--r-- 1 root root 178 Feb 21 03:31 /usr/lib/libc.so >Configure command: ./configure --prefix=/usr/local/mysql --enable-assembler --with-mysqld-ldflags=-all-static >--with-innodb > > --------------------------------------------------------------------- Before posting, please check: http://www.mysql.com/manual.php (the manual) http://lists.mysql.com/ (the list archive) To request this thread, e-mail <[EMAIL PROTECTED]> To unsubscribe, e-mail <[EMAIL PROTECTED]> Trouble unsubscribing? Try: http://lists.mysql.com/php/unsubscribe.php