[MDEV-14575] [Draft] Server crashes in in multi_update::initialize_tables Created: 2017-12-05  Updated: 2018-07-17  Resolved: 2018-07-17

Status: Closed
Project: MariaDB Server
Component/s: Data Manipulation - Update
Affects Version/s: 10.3
Fix Version/s: N/A

Type: Bug Priority: Major
Reporter: Elena Stepanova Assignee: Elena Stepanova
Resolution: Duplicate Votes: 0
Labels: None

Issue Links:
Duplicate
is duplicated by MDEV-16694 Memory leak with EXPLAIN UPDATE, cras... Confirmed

 Description   

--disable_abort_on_error
--source include/have_innodb.inc
--let $con10_id= `SELECT CONNECTION_ID() AS con10`
--let $con11_id= `SELECT CONNECTION_ID() AS con11`
	CREATE TABLE t1 ( 
 col_datetime DATETIME(5) NOT NULL DEFAULT '1900-01-01 00:00:00',
 pk SERIAL ,
 PRIMARY KEY(pk)
 ) /* QNO 2 CON_ID 11 */;
	CREATE TABLE t2 ( 
 col_char CHAR(59) NULL,
 pk INTEGER AUTO_INCREMENT ,
 PRIMARY KEY(pk)
 ) /* QNO 11 CON_ID 11 */;
	CREATE TABLE t5 ( 
 pk SERIAL,
 col_char CHAR(174) NULL,
 PRIMARY KEY(pk)
 ) /* QNO 40 CON_ID 11 */;
	CREATE TABLE t9 ( 
 col_datetime DATETIME(4) NULL,
 pk INTEGER AUTO_INCREMENT ,
 PRIMARY KEY(pk)
 ) /* QNO 81 CON_ID 11 */;
--let $con20_id= `SELECT CONNECTION_ID() AS con20`
	EXPLAIN UPDATE ( `t1` AS alias1, `t9` AS alias2, `t9` AS alias3 ) SET alias3.`pk` = 20 WHERE ( 'f' IN ( SELECT SQ1_alias1.`col_char` AS SQ1_cfield1 FROM ( `t5` AS SQ1_alias1 LEFT OUTER JOIN ( `t2` AS SQ1_alias2 INNER JOIN `t2` AS SQ1_alias3 ON (SQ1_alias3.`pk` = SQ1_alias2.`pk` ) ) ON (SQ1_alias3.`col_char` = SQ1_alias2.`col_char` ) ) WHERE SQ1_alias3.`col_char` IN ( SELECT 4 UNION SELECT 4 ) ) ) AND ( alias1.`pk` BETWEEN 98 AND ( 62 + 29 ) OR alias1.`pk` > 80 AND alias1.`pk` < ( 220 + 186 ) ) AND alias1.`col_datetime` IS NULL /* QNO 106 CON_ID 20 */;

#3  <signal handler called>
#4  0x000055bc00f9e996 in multi_update::initialize_tables (this=0x7f6c380da3f8, join=0x7f6c3805b868) at /data/src/10.3/sql/sql_update.cc:2012
#5  0x000055bc00eec448 in JOIN::optimize_stage2 (this=0x7f6c3805b868) at /data/src/10.3/sql/sql_select.cc:1602
#6  0x000055bc00eec1c8 in JOIN::optimize_inner (this=0x7f6c3805b868) at /data/src/10.3/sql/sql_select.cc:1557
#7  0x000055bc00eea9f2 in JOIN::optimize (this=0x7f6c3805b868) at /data/src/10.3/sql/sql_select.cc:1129
#8  0x000055bc00ef3eec in mysql_select (thd=0x7f6c38000b00, tables=0x7f6c380d7c98, wild_num=0, fields=..., conds=0x0, og_num=0, order=0x0, group=0x0, having=0x0, proc_param=0x0, select_options=268435460, result=0x7f6c380da3f8, unit=0x7f6c380d7c50, select_lex=0x7f6c380d8798) at /data/src/10.3/sql/sql_select.cc:3805
#9  0x000055bc00f967a6 in st_select_lex_unit::exec (this=0x7f6c380d7c50) at /data/src/10.3/sql/sql_union.cc:1556
#10 0x000055bc00f2c98f in mysql_explain_union (thd=0x7f6c38000b00, unit=0x7f6c380d7c50, result=0x7f6c380da3f8) at /data/src/10.3/sql/sql_select.cc:25419
#11 0x000055bc00f2c7bd in select_describe (join=0x7f6c380da4c0, need_tmp_table=false, need_order=false, distinct=false, message=0x55bc01a1e3c8 "Impossible WHERE noticed after reading const tables") at /data/src/10.3/sql/sql_select.cc:25390
#12 0x000055bc00f0cd86 in return_zero_rows (join=0x7f6c380da4c0, result=0x7f6c380da3f8, tables=..., fields=..., send_row=false, select_options=551097991300, info=0x55bc01a1e3c8 "Impossible WHERE noticed after reading const tables", having=0x0, all_fields=...) at /data/src/10.3/sql/sql_select.cc:13049
#13 0x000055bc00ef360b in JOIN::exec_inner (this=0x7f6c380da4c0) at /data/src/10.3/sql/sql_select.cc:3560
#14 0x000055bc00ef2d9e in JOIN::exec (this=0x7f6c380da4c0) at /data/src/10.3/sql/sql_select.cc:3419
#15 0x000055bc00ef3f7f in mysql_select (thd=0x7f6c38000b00, tables=0x7f6c380156e0, wild_num=0, fields=..., conds=0x7f6c380d9fa8, og_num=0, order=0x0, group=0x0, having=0x0, proc_param=0x0, select_options=551097991300, result=0x7f6c380da3f8, unit=0x7f6c38004818, select_lex=0x7f6c38004f50) at /data/src/10.3/sql/sql_select.cc:3819
#16 0x000055bc00f9d6cb in mysql_multi_update (thd=0x7f6c38000b00, table_list=0x7f6c380156e0, fields=0x7f6c38005070, values=0x7f6c38005558, conds=0x7f6c380d9fa8, options=549755813892, handle_duplicates=DUP_ERROR, ignore=false, unit=0x7f6c38004818, select_lex=0x7f6c38004f50, result=0x7f6c7c38e810) at /data/src/10.3/sql/sql_update.cc:1677
#17 0x000055bc00eac7d3 in mysql_execute_command (thd=0x7f6c38000b00) at /data/src/10.3/sql/sql_parse.cc:4623
#18 0x000055bc00eb71d4 in mysql_parse (thd=0x7f6c38000b00, rawbuf=0x7f6c38014b38 "EXPLAIN UPDATE ( `t1` AS alias1, `t9` AS alias2, `t9` AS alias3 ) SET alias3.`pk` = 20 WHERE ( 'f' IN ( SELECT SQ1_alias1.`col_char` AS SQ1_cfield1 FROM ( `t5` AS SQ1_alias1 LEFT OUTER JOIN ( `t2` AS "..., length=556, parser_state=0x7f6c7c38f610, is_com_multi=false, is_next_command=false) at /data/src/10.3/sql/sql_parse.cc:7959
#19 0x000055bc00ea4b10 in dispatch_command (command=COM_QUERY, thd=0x7f6c38000b00, packet=0x7f6c3815fa91 "EXPLAIN UPDATE ( `t1` AS alias1, `t9` AS alias2, `t9` AS alias3 ) SET alias3.`pk` = 20 WHERE ( 'f' IN ( SELECT SQ1_alias1.`col_char` AS SQ1_cfield1 FROM ( `t5` AS SQ1_alias1 LEFT OUTER JOIN ( `t2` AS "..., packet_length=556, is_com_multi=false, is_next_command=false) at /data/src/10.3/sql/sql_parse.cc:1828
#20 0x000055bc00ea3531 in do_command (thd=0x7f6c38000b00) at /data/src/10.3/sql/sql_parse.cc:1370
#21 0x000055bc00ffbe92 in do_handle_one_connection (connect=0x55bc03d0d1b0) at /data/src/10.3/sql/sql_connect.cc:1420
#22 0x000055bc00ffbc1f in handle_one_connection (arg=0x55bc03d0d1b0) at /data/src/10.3/sql/sql_connect.cc:1326
#23 0x000055bc01483a40 in pfs_spawn_thread (arg=0x55bc03d29dc0) at /data/src/10.3/storage/perfschema/pfs.cc:1863
#24 0x00007f6c8bca1494 in start_thread (arg=0x7f6c7c390700) at pthread_create.c:333
#25 0x00007f6c8a08793f in clone () from /lib/x86_64-linux-gnu/libc.so.6

Reliably reproducible, need to clean up and finalize.
Previous versions aren't happy either, but they fail with memory lost and such.



 Comments   
Comment by Elena Stepanova [ 2018-07-17 ]

Closing as a duplicate of MDEV-16694, which has already been cleaned up and assigned.

Generated at Thu Feb 08 08:14:39 UTC 2024 using Jira 8.20.16#820016-sha1:9d11dbea5f4be3d4cc21f03a88dd11d8c8687422.