[MDEV-4005] Server crashes on creating a Cassandra table with a mix of static and dynamic columns Created: 2013-01-06  Updated: 2013-01-14  Resolved: 2013-01-14

Status: Closed
Project: MariaDB Server
Component/s: None
Affects Version/s: 10.0.1
Fix Version/s: 10.0.1

Type: Bug Priority: Major
Reporter: Elena Stepanova Assignee: Oleksandr Byelkin
Resolution: Fixed Votes: 0
Labels: cassandra

Issue Links:
Relates
relates to MDEV-431 Cassandra storage engine Closed

 Description   

Currently I have only one machine with working Cassandra (32-bit openSUSE 12.2 with 1.2 Gb memory), so the problem might be system/arch/HW-specific. Please let me know right away if it's not reproducible in your environment.

#4  <signal handler called>
#5  0xb773a430 in __kernel_vsyscall ()
#6  0xb735831f in raise () from /lib/libc.so.6
#7  0xb7359c03 in abort () from /lib/libc.so.6
#8  0xb7396335 in __libc_message () from /lib/libc.so.6
#9  0xb739cac2 in malloc_printerr () from /lib/libc.so.6
#10 0xb739d165 in munmap_chunk () from /lib/libc.so.6
#11 0x08914f2e in free_memory (ptr=0xa7855f0) at 10.0-base-cassandra/mysys/safemalloc.c:205
#12 0x08914e4a in sf_free (ptr=0xa7855f0) at 10.0-base-cassandra/mysys/safemalloc.c:182
#13 0x0890154c in my_free (ptr=0xa7855f0) at 10.0-base-cassandra/mysys/my_malloc.c:115
#14 0x088db857 in delete_dynamic (array=0xa784610) at 10.0-base-cassandra/mysys/array.c:303
#15 0x08577d4a in ha_cassandra::free_field_converters (this=0xa784258) at 10.0-base-cassandra/storage/cassandra/ha_cassandra.cc:1605
#16 0x0857aaeb in ha_cassandra::~ha_cassandra (this=0xa784258, __in_chrg=<optimized out>) at 10.0-base-cassandra/storage/cassandra/ha_cassandra.h:119
#17 0x0857ab71 in ha_cassandra::~ha_cassandra (this=0xa784258, __in_chrg=<optimized out>) at 10.0-base-cassandra/storage/cassandra/ha_cassandra.h:121
#18 0x0830ad78 in closefrm (table=0xacda28e4, free_share=false) at 10.0-base-cassandra/sql/table.cc:2740
#19 0x083f59c5 in ha_create_table (thd=0xa76abb8, path=0xacda34d7 "./test/t1", db=0xa84d7a0 "test", table_name=0xa84d368 "t1", create_info=0xacda3940, update_create_info=false) at 10.0-base-cassandra/sql/handler.cc:4057
#20 0x0831dfee in rea_create_table (thd=0xa76abb8, path=0xacda34d7 "./test/t1", db=0xa84d7a0 "test", table_name=0xa84d368 "t1", create_info=0xacda3940, create_fields=..., keys=1, key_info=0xa84e308, file=0xa84ded8) at 10.0-base-cassandra/sql/unireg.cc:503
#21 0x082e317c in mysql_create_table_no_lock (thd=0xa76abb8, db=0xa84d7a0 "test", table_name=0xa84d368 "t1", create_info=0xacda3940, alter_info=0xacda38e8, internal_tmp_table=false, select_field_count=0, is_trans=0xacda37ae) at 10.0-base-cassandra/sql/sql_table.cc:4491
#22 0x082e3479 in mysql_create_table (thd=0xa76abb8, create_table=0xa84d390, create_info=0xacda3940, alter_info=0xacda38e8) at 10.0-base-cassandra/sql/sql_table.cc:4586
#23 0x0824d931 in mysql_execute_command (thd=0xa76abb8) at 10.0-base-cassandra/sql/sql_parse.cc:2686
#24 0x082563b2 in mysql_parse (thd=0xa76abb8, rawbuf=0xa84d1c0 "CREATE TABLE t1 (\npk int primary key,\ncol_int int,\ndyncol blob DYNAMIC_COLUMN_STORAGE=yes\n) ENGINE=cassandra keyspace='bug' thrift_host = '127.0.0.1' column_family='cf1'", length=169, parser_state=0xacda3d44) at 10.0-base-cassandra/sql/sql_parse.cc:5874
#25 0x0824a285 in dispatch_command (command=COM_QUERY, thd=0xa76abb8, packet=0xa765899 "CREATE TABLE t1 (\npk int primary key,\ncol_int int,\ndyncol blob DYNAMIC_COLUMN_STORAGE=yes\n) ENGINE=cassandra keyspace='bug' thrift_host = '127.0.0.1' column_family='cf1'", packet_length=169) at 10.0-base-cassandra/sql/sql_parse.cc:1072
#26 0x08249751 in do_command (thd=0xa76abb8) at 10.0-base-cassandra/sql/sql_parse.cc:811
#27 0x083414da in do_handle_one_connection (thd_arg=0xa76abb8) at 10.0-base-cassandra/sql/sql_connect.cc:1253
#28 0x08341025 in handle_one_connection (arg=0xa76abb8) at 10.0-base-cassandra/sql/sql_connect.cc:1168
#29 0x085719aa in pfs_spawn_thread (arg=0xa84a6e8) at 10.0-base-cassandra/storage/perfschema/pfs.cc:1015
#30 0xb7705e32 in start_thread () from /lib/libpthread.so.0
#31 0xb74148ee in clone () from /lib/libc.so.6

revision-id: psergey@askmonty.org-20121224043622-xn8g8y3vhtu1lb3w
revno: 3459
branch: 10.0-base-cassandra

--source include/have_cassandra.inc
 
--disable_warnings
DROP TABLE IF EXISTS t1, t2;
--enable_warnings
 
--remove_files_wildcard $MYSQLTEST_VARDIR cassandra_test_cleanup.cql
--write_file $MYSQLTEST_VARDIR/cassandra_test_cleanup.cql
drop keyspace bug;
EOF
--error 0,1,2
--system cqlsh -3 -f $MYSQLTEST_VARDIR/cassandra_test_cleanup.cql
 
--remove_files_wildcard $MYSQLTEST_VARDIR cassandra_test_init.cql
--write_file $MYSQLTEST_VARDIR/cassandra_test_init.cql
 
CREATE KEYSPACE bug
  WITH strategy_class = 'org.apache.cassandra.locator.SimpleStrategy'
  AND strategy_options:replication_factor='1';
 
USE bug;
create columnfamily cf1 ( pk int primary key, col_int int, a bigint );
EOF
 
--system cqlsh -3 -f $MYSQLTEST_VARDIR/cassandra_test_init.cql
 
 
CREATE TABLE t1 (
 pk int primary key,
 col_int int,
 dyncol blob DYNAMIC_COLUMN_STORAGE=yes
) ENGINE=cassandra keyspace='bug' thrift_host = '127.0.0.1' column_family='cf1';
 



 Comments   
Comment by Oleksandr Byelkin [ 2013-01-08 ]

The DYNAMIC_ARRAY was really allocated and never freed before the crash.

Generated at Thu Feb 08 06:52:59 UTC 2024 using Jira 8.20.16#820016-sha1:9d11dbea5f4be3d4cc21f03a88dd11d8c8687422.