|
I repeated the crash on 10.4.7
On debug version 10.4 I am getting assertion `sl->join == 0' failing in reinit_stmt_before_use (MDEV-20290),
but that test case does not crash on non-debug server.
The test case below is sporadic, crashes in 90% cases, but sometimes not, and giving slightly different stacktraces (adding to make them searchable)
|
CREATE TABLE `t1` (
|
`Numero` INT(11) NOT NULL,
|
`t2` VARCHAR(20) NOT NULL,
|
`Citta` VARCHAR(20) NOT NULL,
|
`Data` DATE NOT NULL,
|
`OraInizio` TIME NOT NULL,
|
`Squadra1` VARCHAR(20) NULL DEFAULT NULL,
|
`Squadra2` VARCHAR(20) NULL DEFAULT NULL,
|
`Arbitro` VARCHAR(20) NULL DEFAULT NULL,
|
`EsitoVincitore` CHAR(1) NULL DEFAULT 'X',
|
PRIMARY KEY (`t2`, `Numero`),
|
UNIQUE INDEX `uq_citta_data` (`Citta` ASC, `Data` ASC),
|
UNIQUE INDEX `uq_data_arbitro` (`Data` ASC, `Arbitro` ASC),
|
INDEX `fk_t1_2_idx` (`Arbitro` ASC),
|
INDEX `fk_t1_3_idx` (`Squadra1` ASC),
|
INDEX `fk_t1_4_idx` (`Squadra2` ASC));
|
|
DELIMITER $$
|
|
CREATE TRIGGER `t1_BEFORE_INSERT` BEFORE INSERT ON `t1` FOR EACH ROW
|
BEGIN
|
IF NEW.Squadra1 in (select Squadra1 from t1 where t2 = NEW.t2) OR NEW.Squadra1 in (select Squadra2 from t1 where t2 = NEW.t2)
|
THEN SIGNAL SQLSTATE '45000' SET MESSAGE_TEXT = 'foo';
|
END IF;
|
|
END$$
|
|
|
DELIMITER ;
|
|
INSERT INTO `t1` (`Numero`, `t2`, `Citta`, `Data`, `OraInizio`, `Squadra1`, `Squadra2`, `Arbitro`, `EsitoVincitore`) VALUES (1, 'Qualificazioni', 'Milano', '2019-09-05', '15:00:00', 'Francia', 'Croazia', 'Jason Lundberg', 'X');
|
INSERT INTO `t1` (`Numero`, `t2`, `Citta`, `Data`, `OraInizio`, `Squadra1`, `Squadra2`, `Arbitro`, `EsitoVincitore`) VALUES (2, 'Qualificazioni', 'Roma', '2019-09-05', '18:00:00', 'Germania', 'Albania', 'Costanzo Pisani', 'X');
|
INSERT INTO `t1` (`Numero`, `t2`, `Citta`, `Data`, `OraInizio`, `Squadra1`, `Squadra2`, `Arbitro`, `EsitoVincitore`) VALUES (3, 'Qualificazioni', 'Bari', '2019-09-05', '21:00:00', 'Ucraina', 'Svezia', 'Louis Lapointe', 'X');
|
|
10.4.7
|
sql/sql_list.h:516(List<Cached_item>::delete_elements())[0x558ae81f39a0]
|
sql/sql_list.h:149(base_list::empty())[0x558ae81e859c]
|
sql/sql_select.cc:4420(JOIN::destroy())[0x558ae81e8ae6]
|
sql/sql_union.cc:2034(st_select_lex::cleanup())[0x558ae8231e08]
|
sql/item_subselect.cc:3713(subselect_single_select_engine::prepare(THD*))[0x558ae842354b]
|
sql/item_subselect.cc:282(Item_subselect::fix_fields(THD*, Item**))[0x558ae8423008]
|
sql/item_subselect.cc:3381(Item_in_subselect::fix_fields(THD*, Item**))[0x558ae84233a7]
|
sql/item_cmpfunc.cc:1357(Item_in_optimizer::fix_fields(THD*, Item**))[0x558ae83bbfc6]
|
sql/item.h:961(Item::fix_fields_if_needed_for_scalar(THD*, Item**))[0x558ae83b8d80]
|
sql/sp_head.cc:356(THD::sp_fix_func_item(Item**))[0x558ae81058b6]
|
sql/sp_head.cc:343(THD::sp_prepare_func_item(Item**, unsigned int))[0x558ae81058e8]
|
sql/sp_head.cc:3937(sp_instr_jump_if_not::exec_core(THD*, unsigned int*))[0x558ae810593e]
|
sql/sp_head.cc:3343(sp_lex_keeper::reset_lex_and_exec_core(THD*, unsigned int*, bool, sp_instr*))[0x558ae810a854]
|
sql/sp_head.cc:1348(sp_head::execute(THD*, bool))[0x558ae8107364]
|
sql/sp_head.cc:1758(sp_head::execute_trigger(THD*, st_mysql_const_lex_string const*, st_mysql_const_lex_string const*, st_grant_info*))[0x558ae8107b42]
|
sql/sql_trigger.cc:2203(Table_triggers_list::process_triggers(THD*, trg_event_type, trg_action_time_type, bool))[0x558ae822b08e]
|
sql/sql_base.cc:8657(fill_record_n_invoke_before_triggers(THD*, TABLE*, List<Item>&, List<Item>&, bool, trg_event_type))[0x558ae8144f6b]
|
sql/sql_insert.cc:972(mysql_insert(THD*, TABLE_LIST*, List<Item>&, List<List<Item> >&, List<Item>&, List<Item>&, enum_duplicates, bool))[0x558ae816cc7d]
|
sql/sql_parse.cc:4538(mysql_execute_command(THD*))[0x558ae819d808]
|
sql/sql_parse.cc:10268(mysql_parse(THD*, char*, unsigned int, Parser_state*, bool, bool))[0x558ae819fdb1]
|
sql/sql_lex.h:4686(Parser_state::reset(char*, unsigned int))[0x558ae81a17e0]
|
sql/sql_parse.cc:1360(do_command(THD*))[0x558ae81a2cff]
|
sql/sql_connect.cc:1404(do_handle_one_connection(CONNECT*))[0x558ae8271be9]
|
sql/sql_connect.cc:1308(handle_one_connection)[0x558ae8271d24]
|
/lib/x86_64-linux-gnu/libpthread.so.0(+0x76ba)[0x7f4ae88426ba]
|
x86_64/clone.S:111(clone)[0x7f4ae7ce941d]
|
|
10.4.7
|
sql/sql_select.cc:19424(free_tmp_table(THD*, TABLE*))[0x55be8625328c]
|
sql/sql_select.cc:13583(JOIN::cleanup(bool))[0x55be8626650a]
|
sql/sql_select.cc:4420(JOIN::destroy())[0x55be86266ae6]
|
sql/sql_union.cc:2034(st_select_lex::cleanup())[0x55be862afe08]
|
sql/item_subselect.cc:3713(subselect_single_select_engine::prepare(THD*))[0x55be864a154b]
|
sql/item_subselect.cc:282(Item_subselect::fix_fields(THD*, Item**))[0x55be864a1008]
|
sql/item_subselect.cc:3381(Item_in_subselect::fix_fields(THD*, Item**))[0x55be864a13a7]
|
sql/item_cmpfunc.cc:1357(Item_in_optimizer::fix_fields(THD*, Item**))[0x55be86439fc6]
|
sql/item.h:961(Item::fix_fields_if_needed_for_scalar(THD*, Item**))[0x55be86436d80]
|
sql/sp_head.cc:356(THD::sp_fix_func_item(Item**))[0x55be861838b6]
|
sql/sp_head.cc:343(THD::sp_prepare_func_item(Item**, unsigned int))[0x55be861838e8]
|
sql/sp_head.cc:3937(sp_instr_jump_if_not::exec_core(THD*, unsigned int*))[0x55be8618393e]
|
sql/sp_head.cc:3343(sp_lex_keeper::reset_lex_and_exec_core(THD*, unsigned int*, bool, sp_instr*))[0x55be86188854]
|
sql/sp_head.cc:1348(sp_head::execute(THD*, bool))[0x55be86185364]
|
sql/sp_head.cc:1758(sp_head::execute_trigger(THD*, st_mysql_const_lex_string const*, st_mysql_const_lex_string const*, st_grant_info*))[0x55be86185b42]
|
sql/sql_trigger.cc:2203(Table_triggers_list::process_triggers(THD*, trg_event_type, trg_action_time_type, bool))[0x55be862a908e]
|
sql/sql_base.cc:8657(fill_record_n_invoke_before_triggers(THD*, TABLE*, List<Item>&, List<Item>&, bool, trg_event_type))[0x55be861c2f6b]
|
sql/sql_insert.cc:972(mysql_insert(THD*, TABLE_LIST*, List<Item>&, List<List<Item> >&, List<Item>&, List<Item>&, enum_duplicates, bool))[0x55be861eac7d]
|
sql/sql_parse.cc:4538(mysql_execute_command(THD*))[0x55be8621b808]
|
sql/sql_parse.cc:10268(mysql_parse(THD*, char*, unsigned int, Parser_state*, bool, bool))[0x55be8621ddb1]
|
sql/sql_lex.h:4686(Parser_state::reset(char*, unsigned int))[0x55be8621f7e0]
|
sql/sql_parse.cc:1360(do_command(THD*))[0x55be86220cff]
|
sql/sql_connect.cc:1404(do_handle_one_connection(CONNECT*))[0x55be862efbe9]
|
sql/sql_connect.cc:1308(handle_one_connection)[0x55be862efd24]
|
/lib/x86_64-linux-gnu/libpthread.so.0(+0x76ba)[0x7fe77adfd6ba]
|
x86_64/clone.S:111(clone)[0x7fe77a2a441d]
|
|
10.4.7
|
sql/sql_list.h:419(base_list_iterator::next())[0x556da5774b28]
|
sql/sql_select.cc:13625(JOIN::cleanup(bool))[0x556da56b458f]
|
sql/sql_select.cc:4420(JOIN::destroy())[0x556da56b4ae6]
|
sql/sql_union.cc:2034(st_select_lex::cleanup())[0x556da56fde08]
|
sql/item_subselect.cc:3713(subselect_single_select_engine::prepare(THD*))[0x556da58ef54b]
|
sql/item_subselect.cc:282(Item_subselect::fix_fields(THD*, Item**))[0x556da58ef008]
|
sql/item_subselect.cc:3381(Item_in_subselect::fix_fields(THD*, Item**))[0x556da58ef3a7]
|
sql/item_cmpfunc.cc:1357(Item_in_optimizer::fix_fields(THD*, Item**))[0x556da5887fc6]
|
sql/item.h:961(Item::fix_fields_if_needed_for_scalar(THD*, Item**))[0x556da5884d80]
|
sql/sp_head.cc:356(THD::sp_fix_func_item(Item**))[0x556da55d18b6]
|
sql/sp_head.cc:343(THD::sp_prepare_func_item(Item**, unsigned int))[0x556da55d18e8]
|
sql/sp_head.cc:3937(sp_instr_jump_if_not::exec_core(THD*, unsigned int*))[0x556da55d193e]
|
sql/sp_head.cc:3343(sp_lex_keeper::reset_lex_and_exec_core(THD*, unsigned int*, bool, sp_instr*))[0x556da55d6854]
|
sql/sp_head.cc:1348(sp_head::execute(THD*, bool))[0x556da55d3364]
|
sql/sp_head.cc:1758(sp_head::execute_trigger(THD*, st_mysql_const_lex_string const*, st_mysql_const_lex_string const*, st_grant_info*))[0x556da55d3b42]
|
sql/sql_trigger.cc:2203(Table_triggers_list::process_triggers(THD*, trg_event_type, trg_action_time_type, bool))[0x556da56f708e]
|
sql/sql_base.cc:8657(fill_record_n_invoke_before_triggers(THD*, TABLE*, List<Item>&, List<Item>&, bool, trg_event_type))[0x556da5610f6b]
|
sql/sql_insert.cc:972(mysql_insert(THD*, TABLE_LIST*, List<Item>&, List<List<Item> >&, List<Item>&, List<Item>&, enum_duplicates, bool))[0x556da5638c7d]
|
sql/sql_parse.cc:4538(mysql_execute_command(THD*))[0x556da5669808]
|
sql/sql_parse.cc:10268(mysql_parse(THD*, char*, unsigned int, Parser_state*, bool, bool))[0x556da566bdb1]
|
sql/sql_lex.h:4686(Parser_state::reset(char*, unsigned int))[0x556da566d7e0]
|
sql/sql_parse.cc:1360(do_command(THD*))[0x556da566ecff]
|
sql/sql_connect.cc:1404(do_handle_one_connection(CONNECT*))[0x556da573dbe9]
|
sql/sql_connect.cc:1308(handle_one_connection)[0x556da573dd24]
|
/lib/x86_64-linux-gnu/libpthread.so.0(+0x76ba)[0x7f8cb499c6ba]
|
x86_64/clone.S:111(clone)[0x7f8cb3e4341d]
|
|
10.4.7
|
sql/sql_select.cc:13133(st_join_table::cleanup())[0x558e4747655c]
|
sql/sql_select.cc:13570(JOIN::cleanup(bool))[0x558e4748968a]
|
sql/sql_select.cc:4420(JOIN::destroy())[0x558e47489ae6]
|
sql/sql_union.cc:2034(st_select_lex::cleanup())[0x558e474d2e08]
|
sql/item_subselect.cc:3713(subselect_single_select_engine::prepare(THD*))[0x558e476c454b]
|
sql/item_subselect.cc:282(Item_subselect::fix_fields(THD*, Item**))[0x558e476c4008]
|
sql/item_subselect.cc:3381(Item_in_subselect::fix_fields(THD*, Item**))[0x558e476c43a7]
|
sql/item_cmpfunc.cc:1357(Item_in_optimizer::fix_fields(THD*, Item**))[0x558e4765cfc6]
|
sql/item.h:961(Item::fix_fields_if_needed_for_scalar(THD*, Item**))[0x558e47659d80]
|
sql/sp_head.cc:356(THD::sp_fix_func_item(Item**))[0x558e473a68b6]
|
sql/sp_head.cc:343(THD::sp_prepare_func_item(Item**, unsigned int))[0x558e473a68e8]
|
sql/sp_head.cc:3937(sp_instr_jump_if_not::exec_core(THD*, unsigned int*))[0x558e473a693e]
|
sql/sp_head.cc:3343(sp_lex_keeper::reset_lex_and_exec_core(THD*, unsigned int*, bool, sp_instr*))[0x558e473ab854]
|
sql/sp_head.cc:1348(sp_head::execute(THD*, bool))[0x558e473a8364]
|
sql/sp_head.cc:1758(sp_head::execute_trigger(THD*, st_mysql_const_lex_string const*, st_mysql_const_lex_string const*, st_grant_info*))[0x558e473a8b42]
|
sql/sql_trigger.cc:2203(Table_triggers_list::process_triggers(THD*, trg_event_type, trg_action_time_type, bool))[0x558e474cc08e]
|
sql/sql_base.cc:8657(fill_record_n_invoke_before_triggers(THD*, TABLE*, List<Item>&, List<Item>&, bool, trg_event_type))[0x558e473e5f6b]
|
sql/sql_insert.cc:972(mysql_insert(THD*, TABLE_LIST*, List<Item>&, List<List<Item> >&, List<Item>&, List<Item>&, enum_duplicates, bool))[0x558e4740dc7d]
|
sql/sql_parse.cc:4538(mysql_execute_command(THD*))[0x558e4743e808]
|
sql/sql_parse.cc:10268(mysql_parse(THD*, char*, unsigned int, Parser_state*, bool, bool))[0x558e47440db1]
|
sql/sql_lex.h:4686(Parser_state::reset(char*, unsigned int))[0x558e474427e0]
|
sql/sql_parse.cc:1360(do_command(THD*))[0x558e47443cff]
|
sql/sql_connect.cc:1404(do_handle_one_connection(CONNECT*))[0x558e47512be9]
|
sql/sql_connect.cc:1308(handle_one_connection)[0x558e47512d24]
|
/lib/x86_64-linux-gnu/libpthread.so.0(+0x76ba)[0x7f78fbd246ba]
|
x86_64/clone.S:111(clone)[0x7f78fb1cb41d]
|
|