TokuDB heap corruption

Bug #1624993 reported by Laurynas Biveinis
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Percona Server moved to https://jira.percona.com/projects/PS
Status tracked in 5.7
5.5
Invalid
Undecided
Unassigned
5.6
Fix Released
High
George Ormond Lorch III
5.7
Fix Released
High
George Ormond Lorch III

Bug Description

Looks like a dir-per-db feature regression:

http://jenkins.percona.com/job/percona-server-5.6-trunk/663/BUILD_TYPE=debug,Host=debian-wheezy-x64/consoleText:

tokudb.type_timestamp_explicit w2 [ fail ]
...
At line 14: query 'CREATE TABLE t1 (a int, t timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP)' failed: 2013: Lost connection to MySQL server during query
...
*** glibc detected *** /mnt/workspace/percona-server-5.6-trunk/BUILD_TYPE/debug/Host/debian-wheezy-x64/build/sql/mysqld-debug: free(): invalid next size (fast): 0x0000000002c32090 ***
...
Program terminated with signal 6, Aborted.
#0 __pthread_kill (threadid=<optimized out>, signo=<optimized out>) at ../nptl/sysdeps/unix/sysv/linux/pthread_kill.c:63
63 ../nptl/sysdeps/unix/sysv/linux/pthread_kill.c: No such file or directory.
#0 __pthread_kill (threadid=<optimized out>, signo=<optimized out>) at ../nptl/sysdeps/unix/sysv/linux/pthread_kill.c:63
#1 0x0000000000b1acd1 in my_write_core (sig=6) at /mnt/workspace/percona-server-5.6-trunk/BUILD_TYPE/debug/Host/debian-wheezy-x64/mysys/stacktrace.c:422
#2 0x000000000077eb9a in handle_fatal_signal (sig=6) at /mnt/workspace/percona-server-5.6-trunk/BUILD_TYPE/debug/Host/debian-wheezy-x64/sql/signal_handler.cc:236
#3 <signal handler called>
#4 0x00007f07e6621125 in *__GI_raise (sig=<optimized out>) at ../nptl/sysdeps/unix/sysv/linux/raise.c:64
#5 0x00007f07e66243a0 in *__GI_abort () at abort.c:92
#6 0x00007f07e665b35b in __libc_message (do_abort=<optimized out>, fmt=<optimized out>) at ../sysdeps/unix/sysv/linux/libc_fatal.c:189
#7 0x00007f07e6664bb6 in malloc_printerr (action=3, str=0x7f07e6741818 "free(): invalid next size (fast)", ptr=<optimized out>) at malloc.c:6312
#8 0x00007f07e666995c in *__GI___libc_free (mem=<optimized out>) at malloc.c:3738
#9 0x00007f07dfc4f1f1 in os_free (p=0x2c32090) at /mnt/workspace/percona-server-5.6-trunk/BUILD_TYPE/debug/Host/debian-wheezy-x64/storage/tokudb/PerconaFT/portability/os_malloc.cc:275
#10 0x00007f07dfc4e3e1 in toku_free (p=0x2c32090) at /mnt/workspace/percona-server-5.6-trunk/BUILD_TYPE/debug/Host/debian-wheezy-x64/storage/tokudb/PerconaFT/portability/memory.cc:336
#11 0x00007f07dfb41bbb in std::unique_ptr<char [], void (*)(void*)>::~unique_ptr (this=0x7f07a869d140, __in_chrg=<optimized out>) at /usr/include/c++/4.7/bits/unique_ptr.h:323
#12 0x00007f07dfbb1161 in toku_create_subdirs_if_needed (path=0x2c32110 "/mnt/workspace/percona-server-5.6-trunk/BUILD_TYPE/debug/Host/debian-wheezy-x64/build/mysql-test/var/2/mysqld.1/data//./_test_t1_status_6_1_1d.tokudb") at /mnt/workspace/percona-server-5.6-trunk/BUILD_TYPE/debug/Host/debian-wheezy-x64/storage/tokudb/PerconaFT/ft/ft-ops.cc:2685
#13 0x00007f07dfbb11ab in ft_create_file (ft_handle=0x2c2f260, fname=0x2c32110 "/mnt/workspace/percona-server-5.6-trunk/BUILD_TYPE/debug/Host/debian-wheezy-x64/build/mysql-test/var/2/mysqld.1/data//./_test_t1_status_6_1_1d.tokudb", fdp=0x7f07a869d228) at /mnt/workspace/percona-server-5.6-trunk/BUILD_TYPE/debug/Host/debian-wheezy-x64/storage/tokudb/PerconaFT/ft/ft-ops.cc:2694
#14 0x00007f07dfbb1a17 in ft_handle_open (ft_h=0x2c2f260, fname_in_env=0x2c31960 "./_test_t1_status_6_1_1d.tokudb", is_create=1, only_create=16384, cachetable=0x2a1cb50, txn=0x2c2f600, use_filenum=..., use_dictionary_id=..., max_acceptable_lsn=...) at /mnt/workspace/percona-server-5.6-trunk/BUILD_TYPE/debug/Host/debian-wheezy-x64/storage/tokudb/PerconaFT/ft/ft-ops.cc:2904
#15 0x00007f07dfbb1ff3 in toku_ft_handle_open (t=0x2c2f260, fname_in_env=0x2c31960 "./_test_t1_status_6_1_1d.tokudb", is_create=1, only_create=16384, cachetable=0x2a1cb50, txn=0x2c2f600) at /mnt/workspace/percona-server-5.6-trunk/BUILD_TYPE/debug/Host/debian-wheezy-x64/storage/tokudb/PerconaFT/ft/ft-ops.cc:3040
#16 0x00007f07dfb49eb2 in toku_db_open_iname (db=0x2c2f2c0, txn=0x2c2f500, iname_in_env=0x2c31960 "./_test_t1_status_6_1_1d.tokudb", flags=0, mode=0) at /mnt/workspace/percona-server-5.6-trunk/BUILD_TYPE/debug/Host/debian-wheezy-x64/storage/tokudb/PerconaFT/src/ydb_db.cc:486
#17 0x00007f07dfb498f9 in toku_db_open (db=0x2c2f2c0, txn=0x2c2f500, fname=0x2c2ee50 "./test/t1-status", dbname=0x0, dbtype=DB_BTREE, flags=16385, mode=0) at /mnt/workspace/percona-server-5.6-trunk/BUILD_TYPE/debug/Host/debian-wheezy-x64/storage/tokudb/PerconaFT/src/ydb_db.cc:366
#18 0x00007f07dfb4b1c9 in locked_db_open (db=0x2c2f2c0, txn=0x2c2eec0, fname=0x2c2ee50 "./test/t1-status", dbname=0x0, dbtype=DB_BTREE, flags=16385, mode=0) at /mnt/workspace/percona-server-5.6-trunk/BUILD_TYPE/debug/Host/debian-wheezy-x64/storage/tokudb/PerconaFT/src/ydb_db.cc:868
#19 0x00007f07dfaf2c85 in tokudb::metadata::create (env=0x2a1c280, status_db_ptr=0x7f07a869e1f8, name=0x2c2ee50 "./test/t1-status", txn=0x2c2eec0) at /mnt/workspace/percona-server-5.6-trunk/BUILD_TYPE/debug/Host/debian-wheezy-x64/storage/tokudb/tokudb_status.h:204
#20 0x00007f07dfb09f05 in ha_tokudb::create (this=0x2c2d1e0, name=0x7f07a86a08b0 "./test/t1", form=0x7f07a869e880, create_info=0x7f07a86a11d0) at /mnt/workspace/percona-server-5.6-trunk/BUILD_TYPE/debug/Host/debian-wheezy-x64/storage/tokudb/ha_tokudb.cc:7313
#21 0x00000000006922c0 in handler::ha_create (this=0x2c2d1e0, name=0x7f07a86a08b0 "./test/t1", form=0x7f07a869e880, info=0x7f07a86a11d0) at /mnt/workspace/percona-server-5.6-trunk/BUILD_TYPE/debug/Host/debian-wheezy-x64/sql/handler.cc:4776
#22 0x0000000000693203 in ha_create_table (thd=0x2ac0d00, path=0x7f07a86a08b0 "./test/t1", db=0x2ba93f8 "test", table_name=0x2ba8e60 "t1", create_info=0x7f07a86a11d0, update_create_info=false, is_temp_table=false) at /mnt/workspace/percona-server-5.6-trunk/BUILD_TYPE/debug/Host/debian-wheezy-x64/sql/handler.cc:5129
#23 0x00000000009185ee in rea_create_table (thd=0x2ac0d00, path=0x7f07a86a08b0 "./test/t1", db=0x2ba93f8 "test", table_name=0x2ba8e60 "t1", create_info=0x7f07a86a11d0, create_fields=..., keys=0, key_info=0x2ba9ae8, file=0x2c28a70, no_ha_table=false) at /mnt/workspace/percona-server-5.6-trunk/BUILD_TYPE/debug/Host/debian-wheezy-x64/sql/unireg.cc:527
#24 0x00000000008a9bd2 in create_table_impl (thd=0x2ac0d00, db=0x2ba93f8 "test", table_name=0x2ba8e60 "t1", path=0x7f07a86a08b0 "./test/t1", create_info=0x7f07a86a11d0, alter_info=0x7f07a86a0c70, internal_tmp_table=false, select_field_count=0, no_ha_table=false, is_trans=0x7f07a86a0b3e, key_info=0x7f07a86a0ab8, key_count=0x7f07a86a0ab4) at /mnt/workspace/percona-server-5.6-trunk/BUILD_TYPE/debug/Host/debian-wheezy-x64/sql/sql_table.cc:5151
#25 0x00000000008aa0de in mysql_create_table_no_lock (thd=0x2ac0d00, db=0x2ba93f8 "test", table_name=0x2ba8e60 "t1", create_info=0x7f07a86a11d0, alter_info=0x7f07a86a0c70, select_field_count=0, is_trans=0x7f07a86a0b3e) at /mnt/workspace/percona-server-5.6-trunk/BUILD_TYPE/debug/Host/debian-wheezy-x64/sql/sql_table.cc:5267
#26 0x00000000008aa220 in mysql_create_table (thd=0x2ac0d00, create_table=0x2ba8e98, create_info=0x7f07a86a11d0, alter_info=0x7f07a86a0c70) at /mnt/workspace/percona-server-5.6-trunk/BUILD_TYPE/debug/Host/debian-wheezy-x64/sql/sql_table.cc:5319
#27 0x00000000008378cd in mysql_execute_command (thd=0x2ac0d00) at /mnt/workspace/percona-server-5.6-trunk/BUILD_TYPE/debug/Host/debian-wheezy-x64/sql/sql_parse.cc:3520
#28 0x0000000000840f82 in mysql_parse (thd=0x2ac0d00, rawbuf=0x2ba8d20 "CREATE TABLE t1 (a int, t timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP)", length=99, parser_state=0x7f07a86a1f30) at /mnt/workspace/percona-server-5.6-trunk/BUILD_TYPE/debug/Host/debian-wheezy-x64/sql/sql_parse.cc:6972
#29 0x0000000000832a3f in dispatch_command (command=COM_QUERY, thd=0x2ac0d00, packet=0x2ba0991 "CREATE TABLE t1 (a int, t timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP)", packet_length=99) at /mnt/workspace/percona-server-5.6-trunk/BUILD_TYPE/debug/Host/debian-wheezy-x64/sql/sql_parse.cc:1441
#30 0x00000000008318e8 in do_command (thd=0x2ac0d00) at /mnt/workspace/percona-server-5.6-trunk/BUILD_TYPE/debug/Host/debian-wheezy-x64/sql/sql_parse.cc:1053
#31 0x00000000007f7dd3 in do_handle_one_connection (thd_arg=0x2ac0d00) at /mnt/workspace/percona-server-5.6-trunk/BUILD_TYPE/debug/Host/debian-wheezy-x64/sql/sql_connect.cc:1541
#32 0x00000000007f7854 in handle_one_connection (arg=0x2ac0d00) at /mnt/workspace/percona-server-5.6-trunk/BUILD_TYPE/debug/Host/debian-wheezy-x64/sql/sql_connect.cc:1444
#33 0x0000000000e7c223 in pfs_spawn_thread (arg=0x2b17940) at /mnt/workspace/percona-server-5.6-trunk/BUILD_TYPE/debug/Host/debian-wheezy-x64/storage/perfschema/pfs.cc:1860
#34 0x00007f07e83e0b50 in start_thread (arg=<optimized out>) at pthread_create.c:304
#35 0x00007f07e66ccfbd in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#36 0x0000000000000000 in ?? ()
...

Tags: tokudb
tags: added: tokudb
Revision history for this message
George Ormond Lorch III (gl-az) wrote :
Revision history for this message
Shahriyar Rzayev (rzayev-sehriyar) wrote :

Percona now uses JIRA for bug reports so this bug report is migrated to: https://jira.percona.com/browse/PS-1012

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.