Description:
rpl_misc_functions.test statement: At line 25: query 'create table t2 like t1' cause slave to core. This may be due to freeing an invalid pointer.
*** glibc detected *** /home/ndbdev/jmiller/clones/mysql-5.1-new/sql/mysqld: free(): invalid pointer: 0x086e2d40 ***
======= Backtrace: =========
/lib/libc.so.6[0x916124]
/lib/libc.so.6(__libc_free+0x77)[0x91665f]
/home/ndbdev/jmiller/clones/mysql-5.1-new/sql/mysqld(_Z7lex_endP6st_lex+0x18)[0x8133458]
/home/ndbdev/jmiller/clones/mysql-5.1-new/sql/mysqld(_ZN3THD13end_statementEv+0x18)[0x81bfb58]
/home/ndbdev/jmiller/clones/mysql-5.1-new/sql/mysqld(_Z11mysql_parseP3THDPcj+0x35c)[0x81f478c]
/home/ndbdev/jmiller/clones/mysql-5.1-new/sql/mysqld(_Z16dispatch_command19enum_server_commandP3THDPcj+0x55d)[0x81f4d8d]
/home/ndbdev/jmiller/clones/mysql-5.1-new/sql/mysqld(handle_one_connection+0x967)[0x81f6b17]
/lib/libpthread.so.0[0xa25b80]
/lib/libc.so.6(__clone+0x5e)[0x97d9ce]
Back trace from core on slave shows:
(gdb) bt
#0 0x00ff4402 in __kernel_vsyscall ()
#1 0x00a2855f in pthread_kill () from /lib/libpthread.so.0
#2 0x082ed95b in write_core (sig=29506) at stacktrace.c:220
#3 0x081d11b2 in handle_segfault (sig=6) at mysqld.cc:2190
#4 <signal handler called>
#5 0x00ff4402 in __kernel_vsyscall ()
#6 0x008db118 in raise () from /lib/libc.so.6
#7 0x008dc888 in abort () from /lib/libc.so.6
#8 0x0091022a in __libc_message () from /lib/libc.so.6
#9 0x00916124 in _int_free () from /lib/libc.so.6
#10 0x0091665f in free () from /lib/libc.so.6
#11 0x08133458 in lex_end (lex=0x21d50c) at sql_lex.cc:198
#12 0x081bfb58 in THD::end_statement (this=0x9a56a68) at sql_class.cc:1683
#13 0x081f478c in mysql_parse (thd=0x9a56a68, inBuf=0x9a634c8 "create table t2 like t1",
length=23) at sql_parse.cc:5725
#14 0x081f4d8d in dispatch_command (command=COM_QUERY, thd=0x9a56a68, packet=Variable "packet" is not available.
)
at sql_parse.cc:1764
#15 0x081f6b17 in handle_one_connection (arg=0x9a56a68) at sql_parse.cc:1536
#16 0x00a25b80 in start_thread () from /lib/libpthread.so.0
#17 0x0097d9ce in clone () from /lib/libc.so.6
This is a release build built with BUILD/compile-pentium-max.
Clone on my system was refreshed and rebuilt yesterday.
This does not occur if NDB is not used.
Please contact me if more information is needed.
How to repeat:
Test break down. Create a test called rpl_ndb_1.test (or what ever you like)
Insert:
source include/master-slave.inc;
create table t1(id int, i int, r1 int, r2 int, p varchar(100));
sync_slave_with_master;
create table t2 like t1;
connection master;
DROP TABLE t1, t2;
touch ./r/rpl_ndb_1.result
./mysql-test-run --with-ndbcluster-all --ndb-extra-test --force --mysqld=--default-storage-engine=ndb --do-test=rpl_ndb_1
Should get:
Errors are (from /home/ndbdev/jmiller/clones/mysql-5.1-new/mysql-test/var/log/mysqltest-time) :
mysqltest: At line 5: query 'create table t2 like t1' failed: 2013: Lost connection to MySQL server during query
(the last lines may be the most important ones)