>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