Description:
I'm running self-made bechmark, which actually runs 4 threads with access by primary key.
Falcon from the lastest bk-trees stable crashes for me.
Backtrace is:
(gdb) bt
#0 0x0000003e3f70c38e in raise () from /lib64/tls/libpthread.so.0
#1 0x00000000007636ad in Error::error ()
#2 0x0000000000737e69 in Transaction::commitNoUpdates ()
#3 0x0000000000737f7d in Transaction::commit ()
#4 0x000000000074b832 in Connection::commit ()
#5 0x000000000071f131 in StorageConnection::commit ()
#6 0x000000000071c0d3 in StorageInterface::external_lock ()
#7 0x00000000005bda21 in mysql_unlock_tables ()
#8 0x00000000005b1f26 in select_send::send_eof ()
#9 0x000000000062817c in do_select ()
#10 0x0000000000638cc8 in JOIN::exec ()
#11 0x0000000000639cc3 in mysql_select ()
#12 0x000000000063a4cd in handle_select ()
#13 0x00000000005cd529 in execute_sqlcom_select ()
#14 0x00000000005d69c4 in mysql_execute_command ()
#15 0x0000000000646375 in Prepared_statement::execute ()
#16 0x0000000000646985 in mysql_stmt_execute ()
#17 0x00000000005d98d6 in dispatch_command ()
#18 0x00000000005dac33 in do_command ()
#19 0x00000000005cc0f3 in handle_one_connection ()
#20 0x0000003e3f706137 in start_thread () from /lib64/tls/libpthread.so.0
#21 0x0000003e3ecc7113 in clone () from /lib64/tls/libc.so.6
How to repeat:
The table:
CREATE TABLE `sbtest` (
`id` int(10) unsigned NOT NULL AUTO_INCREMENT,
`name` varchar(64) NOT NULL DEFAULT '',
`email` varchar(64) NOT NULL DEFAULT '',
`password` varchar(64) NOT NULL DEFAULT '',
`dob` date DEFAULT NULL,
`address` varchar(128) NOT NULL DEFAULT '',
`city` varchar(64) NOT NULL DEFAULT '',
`state_id` tinyint(3) unsigned NOT NULL DEFAULT '0',
`zip` varchar(8) NOT NULL DEFAULT '',
`country_id` smallint(5) unsigned NOT NULL DEFAULT '0',
PRIMARY KEY (`id`),
KEY `email` (`email`),
KEY `country_id` (`country_id`,`state_id`,`city`)
) ENGINE=Falcon DEFAULT CHARSET=latin1 MAX_ROWS=1000000
Each of 4 threads executes query:
SELECT name FROM sbtest WHERE id = ?
Falcon startup line:
./libexec/mysqld --no-defaults --datadir=/mnt/data/mysql-test/falcon --basedir=/home/vadim/mysql-bin/mysql-6-falcon-20070721/ --user=root --falcon_min_record_memory=2G --falcon_max_record_memory=4GB --falcon_page_cache_size=8G --max-connections=1500 --table-cache=512 --net_read_timeout=30 --net_write_timeout=30 --back_log=128 --log-error=err.log --socket=/var/lib/mysql/mysql.sock --default-storage-engine=falcon