Bug #33949 CGE test cause mysqld crash in JOIN_CACHE read_ext_key_arg_field
Submitted: 20 Jan 2008 15:20 Modified: 28 Sep 2010 11:02
Reporter: Jonathan Miller Email Updates:
Status: Closed Impact on me:
None 
Category:MySQL Cluster: Cluster (NDB) storage engine Severity:S1 (Critical)
Version:mysql-5.2 OS:Linux
Assigned to: Jonas Oreland CPU Architecture:Any
Tags: mysql-5.2-wl2771-prototype-r2

[20 Jan 2008 15:20] Jonathan Miller
Description:
0x61bcd9 handle_segfault + 697
0x690062 _ZN10JOIN_CACHE22read_ext_key_arg_fieldEP14st_cache_fieldPhbPj + 354
0x69091c _ZN14JOIN_CACHE_BKA12get_next_keyEPPh + 300
0x69072e _Z18bka_range_seq_nextPvP18st_key_multi_range + 46
0x7a849f _Z26read_multi_bounds_callbackPvjRN21NdbIndexScanOperation10IndexBoundE + 47
0x8eb365 _ZN14NdbTransaction9scanIndexEPK9NdbRecordPFiPvjRN21NdbIndexScanOperation10IndexBoundEES3_jS2_N12NdbOperation8LockModeEPKhjjj
+ 533
0x7a8b8e _ZN13ha_ndbcluster28multi_range_start_retrievalsEi + 1326
0x7a90ac _ZN13ha_ndbcluster21multi_range_read_initEP15st_range_seq_ifPvjjP17st_handler_buffer + 444
0x690b4a _ZN14JOIN_CACHE_BKA21join_matching_recordsEb + 186
0x6863b0 _ZN10JOIN_CACHE12join_recordsEb + 240
0x686419 _ZN10JOIN_CACHE12join_recordsEb + 345
0x686cad _Z16sub_select_cacheP4JOINP13st_join_tableb + 253
0x687139 _Z9do_selectP4JOINP4ListI4ItemEP8st_tableP9Procedure + 1017
0x69aa4b _ZN4JOIN4execEv + 1963
0x69cd41 _Z12mysql_selectP3THDPPP4ItemP10TABLE_LISTjR4ListIS1_ES2_jP8st_orderSB_S2_SB_yP13select_resultP18st_select_lex_unitP13st_selec
t + 1761
0x69cfc4 _Z13handle_selectP3THDP6st_lexP13select_resultm + 372
0x626e7a _Z21execute_sqlcom_selectP3THDP10TABLE_LIST + 170
0x62f95f _Z21mysql_execute_commandP3THD + 17759
0x632eac _Z11mysql_parseP3THDPKcjPS2_ + 636
0x633d06 _Z16dispatch_command19enum_server_commandP3THDPcj + 3462
0x634448 _Z10do_commandP3THD + 184
0x6259e6 handle_one_connection + 310
0x3014f0610a _end + 336518018

How to repeat:
QA will probably need to be involved to help repeat if needed

Compile tree with:
configure='CC=gcc CXX=gcc CFLAGS="-Wall -pedantic -Wno-long-long" CXXFLAGS="-Wall -pedantic -Wno-long-long -fno-exceptions -fno-rtti" .
/configure --with-ndbcluster --with-row-based-replication --with-ndb-test --enable-thread-safe-client --with-ndb-ccflags="-g -DERROR_IN
SERT"'

BUILD/compile-ndb-autotest --prefix=$install_dir

Use ATRT to start process with the following my.cnf

[atrt]
basedir=/data0/cr_autotest/run-telco-mysql-5.1-telco-6.2/run
baseport=15000
clusters= .master

[ndb_mgmd]

[mysqld]
skip-grant-tables
skip-innodb
slave-allow-batching
ndb-use-exact-count=0

[cluster_config]
MaxNoOfSavedMessages = 1000

[cluster_config.master]
NoOfReplicas = 2
DataMemory = 5000M
IndexMemory = 800M
RedoBuffer = 32M
MaxNoOfAttributes=2048
MaxNoOfOrderedIndexes=512
MaxNoOfUniqueHashIndexes=512
DiskPageBufferMemory=64MB
RedoBuffer=64M
LockPagesInMainMemory=1
DiskCheckpointSpeed=16M
NoOfFragmentLogFiles = 40
MaxNoOfConcurrentOperations = 250000
MaxNoOfLocalOperations = 275000
MaxNoOfConcurrentIndexOperations = 20000
ndb_mgmd = ndbXX
ndbd = ndbXX,ndbYY
mysqld = ndbXX,ndbYY
ndbapi=  ndbXX

[TCP DEFAULT]
SendBufferMemory: 130485760

[mysql_cluster.master]
ndb-connectstring= ndbXX:15000

[cluster_config.ndb_mgmd.1.master]
PortNumber= 15000

[cluster_config.ndbd.1.master]
FileSystemPath= /data0/cr_autotest/run-telco-mysql-5.1-telco-6.2/run/cluster.master/

[cluster_config.ndbd.2.master]
FileSystemPath= /data0/cr_autotest/run-telco-mysql-5.1-telco-6.2/run/cluster.master/

[mysqld.1.master]
datadir= /data0/cr_autotest/run-telco-mysql-5.1-telco-6.2/run/cluster.master/mysqld.1
socket= /data0/cr_autotest/run-telco-mysql-5.1-telco-6.2/run/cluster.master/mysqld.1/mysql.sock
port= 15001
server-id= 1
log-bin
ndb-connectstring= ndbXX:15000
ndbcluster

[mysqld.2.master]
datadir= /data0/cr_autotest/run-telco-mysql-5.1-telco-6.2/run/cluster.master/mysqld.2
socket= /data0/cr_autotest/run-telco-mysql-5.1-telco-6.2/run/cluster.master/mysqld.2/mysql.sock
port= 15021
server-id= 2
log-bin
ndb-connectstring= ndbXX:15000
ndbcluster

[client.1.master]
socket= /data0/cr_autotest/run-telco-mysql-5.1-telco-6.2/run/cluster.master/mysqld.1/mysql.sock
port= 15002 

Start test:

ndb> ./mysqlchoke ndbxx:15001,ndbyy:15021 sc sql/example_queries.sql 20 1 1000000 0 500 1 1 > bka-mysqlchoke.test.run.log
[20 Mar 2008 18:36] Jonathan Miller
Retested, due to hang (see http://bugs.mysql.com/35463) unable to complete verification testing one way or the other.
[28 Sep 2010 10:57] Jonas Oreland
mysql-5.2-wl2771 doesnt exist any longer
close