Bug #20760 | mysqld causes the core dump during ndb_restore operation | ||
---|---|---|---|
Submitted: | 28 Jun 2006 20:48 | Modified: | 11 Jul 2006 17:10 |
Reporter: | Nikolay Grishakin | Email Updates: | |
Status: | Can't repeat | Impact on me: | |
Category: | MySQL Cluster: Cluster (NDB) storage engine | Severity: | S1 (Critical) |
Version: | 5.1 | OS: | Linux (Linux) |
Assigned to: | Nikolay Grishakin | CPU Architecture: | Any |
[28 Jun 2006 20:48]
Nikolay Grishakin
[28 Jun 2006 20:55]
Nikolay Grishakin
Core dump, log files and test case "ndb_util_ts.test" are copied to: ndbdev@ndbmaster.mysql.com:/bugs/bug20760
[29 Jun 2006 12:23]
Jonas Oreland
My guess would be that this would crash a mysqld 1) create a table with blobs and populate it with some rows (with blob larger than 256 bytes) 2) take a backup 3) restore backup (data only) here i would assume that mysqld would core as it should get puzzled about the strange event that is comming in. can you test this minimal testcase ? /Jonas
[29 Jun 2006 21:22]
Nikolay Grishakin
Jonas, I did the following test: -- source include/have_ndb.inc --disable_warnings DROP DATABASE IF EXISTS util; DROP TABLE IF EXISTS util.t1; --enable_warnings CREATE DATABASE util; CREATE LOGFILE GROUP lg ADD UNDOFILE 'undofile.dat' INITIAL_SIZE 16M UNDO_BUFFER_SIZE = 1M ENGINE=NDB; CREATE TABLESPACE ts ADD DATAFILE 'datafile.dat' USE LOGFILE GROUP lg INITIAL_SIZE 12M ENGINE NDB; CREATE TABLE util.t1 (a1 INT NOT NULL PRIMARY KEY, a2 BLOB) TABLESPACE ts STORAGE DISK ENGINE=NDB; set @blb = repeat('a', 300); let $j= 500; --disable_query_log while ($j) { eval INSERT INTO util.t1 VALUES ($j, @blb); dec $j; } --enable_query_log SELECT COUNT(*) FROM util.t1; -- source include/ndb_backup.inc DROP TABLE util.t1; -- source include/ndb_restore_master.inc SELECT COUNT(*) FROM util.t1; --exec $NDB_MGM localhost:$NDBCLUSTER_PORT --execute=shutdown and got the following error: Errors are (from /home/ndbdev/ngrishakin/mysql-5.1/mysql-test/var/log/mysqltest-time) : Restore: Failed to restore table: cluster/def/NDB$BLOB_2_3 ... Exiting sh: line 1: 17782 Aborted (core dumped) /home/ndbdev/ngrishakin/mysql-5.1/storage/nd b/tools/ndb_restore --no-defaults --ndb-connectstring="localhost:9310" -p 8 -b 1 -n 1 -m -r --print --print_meta /home/ndbdev/ngrishakin/mysql-5.1/mysql-test/var/ndbcluster-9310/BACKUP/BACKUP-1 >>/hom e/ndbdev/ngrishakin/mysql-5.1/mysql-test/var/log/ndb_testrun.log mysqltest: In included file "./include/ndb_restore_master.inc": At line 6: command "$NDB_TOOLS_DIR/n db_restore --no-defaults --ndb-connectstring="localhost:$NDBCLUSTER_PORT" -p 8 -b $the_backup_id -n 1 -m -r --print --print_meta $NDB_BACKUP_DIR/BACKUP/BACKUP-$the_backup_id >> $NDB_TOOLS_OUTPUT" fail but I cannot find a core file. It's not in ./mysql-test/var/master-data or master1-data.
[29 Jun 2006 21:51]
Nikolay Grishakin
Jonas, found the core. It was under ./mysql_test/ and coused by ndb_restore. Here is a back trace. Seems like this is another bug. [ndbdev@ndb15 mysql-test]$ gdb ../storage/ndb/tools/ndb_restore core.18539 GNU gdb Red Hat Linux (6.3.0.0-1.84rh) Copyright 2004 Free Software Foundation, Inc. GDB is free software, covered by the GNU General Public License, and you are welcome to change it and/or distribute copies of it under certain conditions. Type "show copying" to see the conditions. There is absolutely no warranty for GDB. Type "show warranty" for details. This GDB was configured as "x86_64-redhat-linux-gnu"...Using host libthread_db library "/lib64/libt read_db.so.1". Core was generated by `/home/ndbdev/ngrishakin/mysql-5.1/storage/ndb/tools/ndb_restore --no-default -'. Program terminated with signal 6, Aborted. Reading symbols from /lib64/libpthread.so.0...done. Loaded symbols for /lib64/libpthread.so.0 Reading symbols from /usr/lib64/libz.so.1...done. Loaded symbols for /usr/lib64/libz.so.1 Reading symbols from /lib64/libcrypt.so.1...done. Loaded symbols for /lib64/libcrypt.so.1 Reading symbols from /lib64/libnsl.so.1...done. Loaded symbols for /lib64/libnsl.so.1 Reading symbols from /lib64/libm.so.6...done. Loaded symbols for /lib64/libm.so.6 Reading symbols from /lib64/libc.so.6...done. Loaded symbols for /lib64/libc.so.6 Reading symbols from /lib64/ld-linux-x86-64.so.2...done. Loaded symbols for /lib64/ld-linux-x86-64.so.2 Reading symbols from /lib64/libnss_files.so.2...done. Loaded symbols for /lib64/libnss_files.so.2 #0 0x00000033b832f280 in raise () from /lib64/libc.so.6 (gdb) bt #0 0x00000033b832f280 in raise () from /lib64/libc.so.6 #1 0x00000033b8330750 in abort () from /lib64/libc.so.6 #2 0x0000000000454135 in exitHandler (code=1) at restore/restore_main.cpp:439 #3 0x00000000004546dd in main (argc=1, argv=0x79d6c0) at restore/restore_main.cpp:551
[29 Jun 2006 22:34]
Nikolay Grishakin
mysqld causes the core dump during ndb_restore operation
[11 Jul 2006 17:10]
Nikolay Grishakin
Don't see the core from mysqld anymore with latest mysql 5.1. core caused bu ndb_restore only. Changing status to "Cannot repeat".