Details
-
Bug
-
Status: Closed (View Workflow)
-
Critical
-
Resolution: Fixed
-
10.3.17, 10.5.5, 10.2(EOL), 10.4(EOL), 10.6
-
None
Description
MariaDB server - 10.3.17, crashed with the following stack trace. We are not clear on execution of which particular query/SP/Function caused this problem.
Here is the full backtrace for all threads captured from the core file generated.
Attaching the full error log and full backtrace from all the threads for a core file.
#0 0x00007f5c3f237207 in raise () from /lib64/libc.so.6
|
#1 0x00007f5c3f238a38 in abort () from /lib64/libc.so.6
|
#2 0x00007f5c3f279cc7 in __libc_message () from /lib64/libc.so.6
|
#3 0x00007f5c3f319677 in __fortify_fail () from /lib64/libc.so.6
|
#4 0x00007f5c3f3177f2 in __chk_fail () from /lib64/libc.so.6
|
#5 0x00007f5c3f3195d7 in __fdelt_warn () from /lib64/libc.so.6
|
#6 0x000055f1b28366da in my_addr_resolve (ptr=<optimized out>, loc=loc@entry=0x7f50931863b0)
|
#7 0x000055f1b281fad2 in print_with_addr_resolve (n=<optimized out>, addrs=0x7f50931863d0)
|
#8 my_print_stacktrace (stack_bottom=<optimized out>, thread_stack=262144, silent=<optimized out>)
|
#9 0x000055f1b22bf2af in handle_fatal_signal (sig=11) at /usr/src/debug/mariadb-10.3.17-linux-x86_64/server/src_0/sql/signal_handler.cc:207
|
#10 <signal handler called>
|
#11 0x000055f1b22e30a7 in change_item_tree (new_value=0x7f4f45278518, place=0x0, this=0x7f50040611e8)
|
#12 Item::split_sum_func2 (this=0x7f4f450e99e8, thd=0x7f50040611e8, ref_pointer_array=..., fields=..., ref=<optimized out>, split_flags=0)
|
#13 0x000055f1b212cedd in JOIN::prepare (this=this@entry=0x7f4f45020bc8, tables_init=<optimized out>, wild_num=<optimized out>,
|
#14 0x000055f1b217c51e in st_select_lex_unit::prepare_join (this=this@entry=0x7f4f450dd720, thd_arg=0x7f50040611e8, sl=sl@entry=0x7f4f450ddea0,
|
#15 0x000055f1b2180164 in st_select_lex_unit::prepare (this=this@entry=0x7f4f450dd720, derived_arg=derived_arg@entry=0x7f4f450beea8,
|
#16 0x000055f1b20ac983 in mysql_derived_prepare (thd=0x7f50040611e8, lex=0x7f4f45097b38, derived=0x7f4f450beea8)
|
#17 0x000055f1b20ad6dc in mysql_handle_single_derived (lex=lex@entry=0x7f4f45097b38, derived=derived@entry=0x7f4f450beea8, phases=phases@entry=2)
|
#18 0x000055f1b219aaae in TABLE_LIST::handle_derived (this=this@entry=0x7f4f450beea8, lex=lex@entry=0x7f4f45097b38, phases=phases@entry=2)
|
#19 0x000055f1b20c4807 in handle_list_of_derived (phases=2, table_list=<optimized out>, this=0x7f4f45097b38)
|
#20 st_select_lex::handle_derived (this=this@entry=0x7f4f450a3170, lex=lex@entry=0x7f4f45097b38, phases=phases@entry=2)
|
#21 0x000055f1b219aa86 in TABLE_LIST::handle_derived (this=this@entry=0x7f4f4508ce20, lex=lex@entry=0x7f4f45097b38, phases=phases@entry=2)
|
#22 0x000055f1b20b3c1a in handle_list_of_derived (phases=2, table_list=0x7f4f45089708, this=0x7f4f45097b38)
|
#23 mysql_prepare_insert (thd=thd@entry=0x7f50040611e8, table_list=0x7f4f45089708, table=0x7f4f4508ff58, fields=..., values=values@entry=0x0,
|
#24 0x000055f1b20b7e12 in mysql_insert_select_prepare (thd=thd@entry=0x7f50040611e8)
|
#25 0x000055f1b20e8ce2 in mysql_execute_command (thd=0x7f50040611e8) at /usr/src/debug/mariadb-10.3.17-linux-x86_64/server/src_0/sql/sql_parse.cc:4550
|
#26 0x000055f1b2050126 in sp_instr_stmt::exec_core (this=0x7f4f4508d470, thd=<optimized out>, nextp=0x7f5093189240)
|
#27 0x000055f1b2057bc9 in sp_lex_keeper::reset_lex_and_exec_core (this=this@entry=0x7f4f4508d4b8, thd=thd@entry=0x7f50040611e8,
|
#28 0x000055f1b205861c in sp_instr_stmt::execute (this=0x7f4f4508d470, thd=0x7f50040611e8, nextp=0x7f5093189240)
|
#29 0x000055f1b2053b20 in sp_head::execute (this=this@entry=0x7f4f4507ffc0, thd=thd@entry=0x7f50040611e8,
|
#30 0x000055f1b2054d4d in sp_head::execute_procedure (this=0x7f4f4507ffc0, thd=thd@entry=0x7f50040611e8, args=0x7f5004065ca8)
|
#31 0x000055f1b20d98c2 in do_execute_sp (thd=0x7f50040611e8, sp=<optimized out>)
|
#32 0x000055f1b20dad86 in Sql_cmd_call::execute (this=this@entry=0x7f5004432490, thd=thd@entry=0x7f50040611e8)
|
#33 0x000055f1b20db5a0 in Sql_cmd_call::execute (this=0x7f5004432490, thd=0x7f50040611e8)
|
#34 0x000055f1b20e4aa0 in mysql_execute_command (thd=thd@entry=0x7f50040611e8)
|
#35 0x000055f1b20e9c2b in mysql_parse (thd=0x7f50040611e8, rawbuf=<optimized out>, length=16, parser_state=0x7f509318b4e0,
|
#36 0x000055f1b20ec80f in dispatch_command (command=command@entry=COM_QUERY, thd=thd@entry=0x7f50040611e8,
|
#37 0x000055f1b20ed74e in do_command (thd=0x7f50040611e8) at /usr/src/debug/mariadb-10.3.17-linux-x86_64/server/src_0/sql/sql_parse.cc:1402
|
#38 0x000055f1b21c0f61 in do_handle_one_connection (connect=connect@entry=0x55f1ef185788)
|
#39 0x000055f1b21c102d in handle_one_connection (arg=0x55f1ef185788)
|
#40 0x00007f5c40d28dd5 in start_thread () from /lib64/libpthread.so.0
|
#41 0x00007f5c3f2ffb3d in clone () from /lib64/libc.so.6
|
Thank You!
Attachments
- mysqld_6.0_dbg.err
- 795 kB
- mysqld_6.0_opt.err
- 710 kB
- mysqld_dbg.err
- 1.09 MB
- mysqld_opt.err
- 1.10 MB
- mysqld_tc2_dbg.err
- 1.25 MB
- mysqld_tc2_opt.err
- 1.09 MB
Issue Links
- is duplicated by
-
MDEV-25631 Crash executing query with VIEW, aggregate and subquery
-
- Closed
-
Activity
Alright, got more details this time.
Calling a procedure causing the server to crash. Looks to me procedure is having "insert into .. select" on a view. Locally able to reproduce the issue with the dump files shared by customer, more details, I will share it privately to the developers.
I did some more testing with the draft testcase formulated in my last comment above. This time I ran the testcase against TSAN with a start/stop marker in the error log, like so:
1. Start mysqld
2. When server fully started, enter CLI prompt
3. When client fully started, pause for some time to quiesce the server.
4. Fo the following in another shell session (to not have to exit the client and avoid any other unrelated error):
echo 'TESTCASE_START' >> ./log/master.err
|
5. Execute testcase in CLI
6. In the other shell session, do:
echo 'TESTCASE_STOP' >> ./log/master.err
|
7. Exit client and shutdown server
8. Analyze log, and review errors between TESTCASE_START and TESTCASE_STOP, i.e. just before and after the run of the testcase.
This showed a lot of TSAN errors for this code, but only for InnoDB. Using the same testcase with MyISAM produces:
TESTCASE_START
|
TESTCASE_STOP
|
i.e. no TSAN errors seen. I also double checked to ensure the code executed correctly at the CLI prompt, in full, when using MyISAM and InnoDB.
As for InnoDB, there are many issues seen, including:
10.3.28 75538f94ca06915ddc22458b82b8e148e51dd0db (Debug) |
1. Data race /data/builds/10.3_dbg_san/storage/innobase/sync/sync0rw.cc:1012 in rw_lock_own
|
2. Data race /data/builds/10.3_dbg_san/storage/innobase/buf/buf0lru.cc:171 in incr_LRU_size_in_bytes
|
3. Data race /data/builds/10.3_dbg_san/storage/innobase/buf/buf0buf.cc:5700 in buf_page_create
|
4. Data race /data/builds/10.3_dbg_san/storage/innobase/include/sync0types.h:1174 in simple_counter
|
5. Data race /data/builds/10.3_dbg_san/storage/innobase/sync/sync0arr.cc:636 in sync_array_find_thread
|
6. Data race /data/builds/10.3_dbg_san/storage/innobase/sync/sync0rw.cc:320 in rw_lock_s_lock_spin
|
7. Data race /data/builds/10.3_dbg_san/storage/innobase/buf/buf0buf.cc:4828 in buf_page_get_low
|
8. Data race /data/builds/10.3_dbg_san/storage/innobase/sync/sync0rw.cc:517 in rw_lock_x_lock_low
|
9. Data race /data/builds/10.3_dbg_san/mysys/charset.c:595 in my_collation_statistics_inc_use_count
|
10.3.28 75538f94ca06915ddc22458b82b8e148e51dd0db (Optimized) |
1. Data race /data/builds/10.3_opt_san/storage/innobase/buf/buf0lru.cc:171 in incr_LRU_size_in_bytes
|
2. Data race /data/builds/10.3_opt_san/storage/innobase/buf/buf0buf.cc:5700 in buf_page_create(page_id_t, page_size_t const&, mtr_t*)
|
3. Data race /data/builds/10.3_opt_san/storage/innobase/include/sync0types.h:1174 in simple_counter<unsigned long>::add(unsigned long)
|
4. Data race /data/builds/10.3_opt_san/storage/innobase/sync/sync0rw.cc:352 in rw_lock_s_lock_spin(rw_lock_t*, unsigned long, char const*, unsigned int)
|
5. Data race /data/builds/10.3_opt_san/storage/innobase/include/sync0types.h:1174 in mtr_t::commit()
|
6. Data race /data/builds/10.3_opt_san/storage/innobase/log/log0log.cc:820 in log_write_flush_to_disk_low
|
7. Data race /data/builds/10.3_opt_san/storage/innobase/buf/buf0flu.cc:1158 in buf_flush_page(buf_pool_t*, buf_page_t*, buf_flush_t, bool)
|
8. Data race /data/builds/10.3_opt_san/storage/innobase/include/os0file.h:297 in IORequest::is_log() const
|
9. Data race /data/builds/10.3_opt_san/storage/innobase/os/os0file.cc:1198 in AIO::release(Slot*)
|
Versions used was 10.3.28 revision 75538f94ca06915ddc22458b82b8e148e51dd0db, both debug and optimized builds. Both show issues.
Please see the two attached error logs (mysqld_dbg.err and mysqld_opt.err); search for TESTCASE_START and TESTCASE_STOP.
Tested the same setup against 6.0 (dbg+opt), and uploaded those logs also (mysqld_6.0_dbg.err, mysqld_6.0_opt.err).
Same TESTCASE_START/_STOP markers are present.
I am also adding 10.3 error logs (mysqld_tc2_dbg.err and mysqld_tc2_opt.err) for the following improved testcase, and with the procedure call included:
CREATE TABLE t (a DATETIME,b DATETIME,c VARCHAR(30),d INT) ENGINE=InnoDB;
|
DELIMITER __
|
CREATE PROCEDURE p() BEGIN
|
DECLARE start_date DATETIME;
|
DECLARE end_date DATETIME;
|
DECLARE status VARCHAR(30);
|
SET start_date=NOW();
|
SET status='Started';
|
INSERT INTO t VALUES (start_date,end_date,status,NULL);
|
TRUNCATE t;
|
INSERT INTO t SELECT * FROM t;
|
SET end_date=NOW();
|
SET status=(CASE WHEN end_date IS NULL THEN 'Failed' ELSE 'Success' END);
|
INSERT INTO t VALUES (start_date,end_date,status,NULL);
|
END __
|
DELIMITER ;
|
CALL p();
|
Again a large number of data races are seen.
Regrettably, no change_item_tree or Item::split_sum_func2 frames are present, which makes me still wonder if there are all sorts of data races in InnoDB in this area, and triggered with this testcase, which could in totality still be unrelated to the issue seen originally.
Or, it is possible that the data races seen in InnoDB trigger the issue.
I was able to reproduce the issue and have a preliminary large ~300k lines testcase. The uniqueID's are:
SIGSEGV|THD::change_item_tree|JOIN::prepare|JOIN::prepare|st_select_lex_unit::prepare_join # 10.3
|
SIGSEGV|THD::change_item_tree|Item::split_sum_func2|JOIN::prepare|st_select_lex_unit::prepare # 10.2.38
|
The issue is present in 10.3.17, and still present in 10.3.29 build from 26 Feb 2021. Issue repeats on 10.2.38. Not repeatable on 10.4.19, 10.5.10, 10.6 ftm, but it may be due to other replay SQL affecting changes in 10.4+ versions (i.e. the issue may still exist requiring slightly modified SQL).
Reducing testcase now.
Testcase requires SOURCE (mysql --execute='SOURCE input.sql') rather than cat input.sql | mysql.
Testcase still reducing reduced. I am down to 651 and 457 lines respectively across two attempts. 352 35 lines (15kb), reducing columns, FKs, generalizing names and reducing complexity. Issue likely sporadic. Issue is deterministic.
Indeed, issue affects 10.4, 10.5, 10.6 also with reduced SQL, both debug and optimized.
10.4.19 a6c6c4f4633e2432a4b75ad0406df439f732cad8 (Debug) |
SIGSEGV|THD::change_item_tree|Item::split_sum_func2|JOIN::prepare|st_select_lex_unit::prepare_join
|
10.4.19 a6c6c4f4633e2432a4b75ad0406df439f732cad8 (Optimized) |
SIGSEGV|THD::change_item_tree|JOIN::prepare|st_select_lex_unit::prepare_join|st_select_lex_unit::prepare
|
10.5.10 1696e4df3f296cf2df2657eb6fe785d2cab905a7 (Debug) |
SIGSEGV|THD::change_item_tree|Item::split_sum_func2|JOIN::prepare|st_select_lex_unit::prepare_join
|
10.5.10 1696e4df3f296cf2df2657eb6fe785d2cab905a7 (Optimized) |
SIGSEGV|THD::change_item_tree|JOIN::prepare|st_select_lex_unit::prepare_join|st_select_lex_unit::prepare
|
10.6.0 03ff588d153f22f00ff00923e82498cbac63505f (Debug) |
SIGSEGV|THD::change_item_tree|Item::split_sum_func2|JOIN::prepare|st_select_lex_unit::prepare_join
|
10.6.0 03ff588d153f22f00ff00923e82498cbac63505f (Optimized) |
SIGSEGV|THD::change_item_tree|JOIN::prepare|st_select_lex_unit::prepare_join|st_select_lex_unit::prepare
|
SET foreign_key_checks=0;
|
CREATE TABLE t2(c688 INT,c68 INT,c170 INT,END INT) ENGINE=InnoDB;
|
CREATE TABLE t3(c76 INT,c687 INT,INDEX k20(c76)) ENGINE=InnoDB;
|
CREATE TABLE t4(c681 INT,c43 INT,c682 INT,c15 INT,CONSTRAINT co2 FOREIGN KEY(c15)REFERENCES t11 (c30)) ENGINE=InnoDB;
|
CREATE TABLE t5(c71 INT,c57 VARCHAR(120),c75 INT,INDEX k10(c71)) ENGINE=InnoDB;
|
CREATE TABLE t6(c52 INT,c53 INT NOT NULL,c69 INT) ENGINE=InnoDB;
|
CREATE TABLE t7(c48 INT,c75 INT,c76 INT,c71 INT,c69 INT ,c50 VARCHAR(100),c51 INT,KEY (c48),INDEX k30 (c48),INDEX k31 (c75,c76),INDEX ab91 (c75,c71),CONSTRAINT r_156 FOREIGN KEY (c75,c76) REFERENCES t19 (c75,c76),CONSTRAINT r_215 FOREIGN KEY (c75,c71) REFERENCES e5 (c75,c71)) ENGINE=InnoDB;
|
CREATE TABLE t8(c42 INT,c52 INT,c47 VARCHAR(2000),c423 VARCHAR(100),CONSTRAINT r_283 FOREIGN KEY(c42)REFERENCES t24 (c42)) ENGINE=InnoDB;
|
CREATE TABLE t9(c682 INT,c42 INT,c688 INT,c684 INT,c32 VARCHAR(2000),c69 INT ,c72 INT,c77 VARCHAR(2000),c35 VARCHAR(2000),CONSTRAINT co4 FOREIGN KEY(c42)REFERENCES t24 (c42)) ENGINE=InnoDB;
|
CREATE TABLE t10(c75 INT,c46 INT,INDEX i03(c75)) ENGINE=InnoDB;
|
CREATE TABLE t11(c30 INT,c31 INT,c69 INT ,INDEX k11(c30)) ENGINE=InnoDB;
|
CREATE TABLE t12(c42 INT,c20 INT,c683 INT,c151 INT,c23 INT,c24 VARCHAR(20),c44 VARCHAR(20),c38 INT,c39 INT,c28 INT,c29 INT,c001 INT,bl1 INT,KEY (c42),INDEX k42 (c42),INDEX i02 (c42),INDEX i04 (c20),INDEX al13 (c23),INDEX k44 (c24),INDEX k45 (c44),INDEX r_588 (c38,c39),INDEX i05 (c28),INDEX r_570 (c29),INDEX k43 (c001),INDEX k46 (bl1),CONSTRAINT r_1568 FOREIGN KEY (c001) REFERENCES t7 (c48),CONSTRAINT r_1569 FOREIGN KEY (bl1) REFERENCES t7 (c48),CONSTRAINT r_570 FOREIGN KEY (c29) REFERENCES t5 (c71),CONSTRAINT r_573 FOREIGN KEY (c23) REFERENCES k47 (c23),CONSTRAINT r_574 FOREIGN KEY (c24) REFERENCES u1 (u11),CONSTRAINT r_575 FOREIGN KEY (c44) REFERENCES u1 (u11),CONSTRAINT r_588 FOREIGN KEY (c38,c39) REFERENCES t19 (c75,c76),CONSTRAINT r_682 FOREIGN KEY (c20) REFERENCES t16 (c20),CONSTRAINT co7 FOREIGN KEY (c28) REFERENCES t16 (c20)) ENGINE=InnoDB;
|
CREATE TABLE t13(c42 INT,c44 INT,c69 INT ,c06 INT,c35 INT,CONSTRAINT r_658 FOREIGN KEY(c35)REFERENCES t23 (c35)) ENGINE=InnoDB;
|
CREATE TABLE t14(c44 INT,c428 INT,c69 INT ,INDEX i01(c44)) ENGINE=InnoDB;
|
CREATE TABLE t16(c20 INT,c680 INT,c69 INT ,c76 INT,c49 INT,KEY (c20),INDEX k50 (c20),INDEX r_489 (c76),INDEX ab92 (c49),CONSTRAINT r_489 FOREIGN KEY (c76) REFERENCES t3 (c76),CONSTRAINT r_686 FOREIGN KEY (c49) REFERENCES t3 (c76)) ENGINE=InnoDB;
|
CREATE TABLE t17(c170 INT,c42 INT,c48 VARCHAR(20),c53 VARCHAR(2000),c68 INT,ct1 INT DEFAULT CURRENT_TIMESTAMP,c69 INT ,CONSTRAINT r_272 FOREIGN KEY(c170)REFERENCES e6 (c170)) ENGINE=InnoDB;
|
CREATE TABLE t18(c18 INT,c47 INT,INDEX k2(c18)) ENGINE=InnoDB;
|
CREATE TABLE t19(c75 INT,c76 INT,c77 INT,UNIQUE KEY k3(c75,c76),CONSTRAINT r_593 FOREIGN KEY(c77,c76)REFERENCES ab74 (c77,c76)) ENGINE=InnoDB;
|
CREATE TABLE e7(c687 INT,c688 INT,c68 INT,ct1 INT ,c69 INT,c699 VARCHAR(20),c75 INT,c76 INT,c71 INT,c72 VARCHAR(3),c77 VARCHAR(20),KEY(c687),CONSTRAINT r_304 FOREIGN KEY(c75,c71)REFERENCES e5 (c75,c71)) ENGINE=InnoDB;
|
CREATE TABLE t21(c15 INT,c683 INT,c684 INT,c75 INT,CONSTRAINT r_328 FOREIGN KEY(c684)REFERENCES e7 (c687)) ENGINE=InnoDB;
|
CREATE TABLE t22(c42 INT,c43 INT,c44 INT,c45 VARCHAR(150),c420 VARCHAR(120),c46 INT,c47 INT,c423 INT,c48 INT,c425 DATE NULL,c49 DATE NULL,c427 INT,c428 INT,c429 INT,c50 DATE NULL,c51 INT,c52 VARCHAR(3),c53 DATE NULL,c54 DATE NULL,c55 VARCHAR(10),c56 DATE NULL,c57 VARCHAR(100),c75 INT,c71 INT,c680 VARCHAR(23),c681 INT) ENGINE=InnoDB;
|
CREATE TABLE t23(c35 INT,c36 INT,c37 INT,c38 INT,c39 INT,UNIQUE KEY k1(c35),CONSTRAINT r_945 FOREIGN KEY(c38,c39)REFERENCES t19 (c75,c76)) ENGINE=InnoDB;
|
CREATE TABLE t24(c42 INT,c44 INT,c15 INT,c45 VARCHAR(150),c17 VARCHAR(4000),c18 INT,c420 INT,c19 INT,c20 VARCHAR(2),c21 VARCHAR(2000),c22 INT,c23 INT,c24 INT,b3 INT,ct1 INT ,REF VARCHAR(20),c26 INT,c27 INT,c28 INT,c29 INT,c30 INT,c31 INT,c1702 INT,c1703 VARCHAR(2000),c72 INT,c77 INT,UNIQUE KEY ab1(c42),CONSTRAINT ab19 FOREIGN KEY(c30)REFERENCES t11 (c30)) ENGINE=InnoDB;
|
CREATE TABLE t25(c8 INT,c42 INT,c683 INT,c151 INT,c152 INT,c681 INT,CONSTRAINT r_607 FOREIGN KEY(c152)REFERENCES t11 (c30)) ENGINE=InnoDB;
|
CREATE TABLE t26(c170 INT,c8 INT,c5 VARCHAR(20),c68 INT,c69 INT,CONSTRAINT ab4 FOREIGN KEY(c170)REFERENCES e6 (c170)) ENGINE=InnoDB;
|
CREATE TABLE t27(c15 INT,c2 INT,UNIQUE KEY f1(c15)) ENGINE=InnoDB;
|
CREATE ALGORITHM=UNDEFINED DEFINER=root@localhost SQL SECURITY DEFINER VIEW ab55 AS SELECT pm.c42 AS c42,pm.c44 AS c44,CASE WHEN ab76.c75=2 THEN ab76.c57 ELSE(SELECT d1.c57 FROM t5 d1 WHERE d1.c71 IN (SELECT b.c52 FROM t6 b WHERE b.c53=pm.c420)AND d1.c75=2) END AS c420_lv2,ab76.c57 AS c420,em.c46 AS c46,ju.c57 AS ab60,ab31.c47 AS ab30,ab68.c31 AS c68,e2.ct1 AS ab73,ab21.c2 AS c2,pm.REF AS REF,pm.c45 AS c45,pm.c17 AS c17,CAST(ADDTIME(ab49.c52,'') AS DATE) AS c52,ab49.c423 AS c423,ab49.c47 AS c47,CAST(ADDTIME(pm.c28,'') AS DATE) AS ab3,ab11.c53 AS ab2,(SELECT ab93.c50 FROM t7 ab93 WHERE ab93.c48=pm.b3) AS c57,CONCAT(em.c75,'_',ab76.c71) AS c680,em.c75 AS c75,ab76.c71 AS c71 FROM ((((((((((((((((((t24 pm JOIN t8 ab49 on(ab49.c42=pm.c42)) JOIN t27 ab21 on(ab21.c15=pm.c15)) JOIN t9 ab54 on(ab54.c42=pm.c42)) JOIN t5 ab76 on(ab76.c71=pm.c420)) JOIN t5 ju on(ju.c71=pm.c19)) JOIN t10 em on(em.c75=pm.c26)) JOIN t11 ab68 on(ab68.c30=pm.c30)) JOIN t12 op on(op.c42=pm.c42)) JOIN t13 om on(om.c42=pm.c42 AND om.c06='')) JOIN t14 ab42 on(ab42.c44=om.c44)) JOIN t14 ab41 on(ab41.c428=om.c44)) JOIN t16 bb1 on(bb1.c20=op.c20)) JOIN t3 l on(bb1.c49=l.c76)) JOIN t16 ab8 on(ab8.c20=op.c28)) JOIN t5 ab15 on(ab15.c71=op.c29)) JOIN t17 ab11 on(ab11.c42=pm.c42 AND ab11.c48=40)) JOIN t17 e2 on(e2.c42=pm.c42 AND e2.c48=28)) JOIN t18 ab31 on(ab31.c18=pm.c18)) WHERE (pm.c24 IS NULL OR pm.c24='') AND pm.c15 IN (0,0);
|
CREATE ALGORITHM=UNDEFINED DEFINER=root@localhost SQL SECURITY DEFINER VIEW ab86 AS SELECT e7.c687 AS c683,e7.c688 AS _c688,e7.c68 AS c68,e7.ct1 AS ct1,e7.c69 AS c69,e7.c699 AS c699,e7.c75 AS c75,e7.c76 AS c76,e7.c71 AS c71,e7.c72 AS c72 FROM e7 WHERE e7.c77='a';
|
CREATE ALGORITHM=UNDEFINED DEFINER=root@localhost SQL SECURITY DEFINER VIEW ab51 AS SELECT pm.c42 AS c42,pm.c44 AS c44,ab37.c43 AS c43,CASE WHEN ab76.c75=2 THEN ab76.c57 ELSE(SELECT d1.c57 FROM t5 d1 WHERE d1.c71 IN (SELECT b.c52 FROM t6 b WHERE b.c53=pm.c420)AND d1.c75=2) END AS c420_lv2,ab76.c57 AS c420,em.c46 AS c46,ju.c57 AS ab60,ab32.c47 AS c47,ab68.c31 AS c31,ab21.c2 AS prab22al_typ_nm,pm.REF AS REF,pm.c45 AS c45,pm.c17 AS c17,CASE WHEN pm.c20=''THEN''WHEN pm.c20=''THEN''ELSE pm.c20 END AS c20,pm.c21 AS c21,CASE WHEN ab54.c72=''THEN''WHEN ab54.c72=''THEN''ELSE ab54.c72 END AS c72,ab54.c32 AS c32,ab54.c77 AS c77,ab54.c35 AS c35,CAST(ADDTIME(pm.ct1,'') AS DATE) AS ab69,CAST(ADDTIME(pm.c72,'') AS DATE) AS ap,CAST(ADDTIME(pm.c77,'') AS DATE) AS ab47,CAST(ADDTIME(pm.c29,'') AS DATE) AS c29,(SELECT GROUP_CONCAT(DISTINCT ab17._c688 SEPARATOR ',') FROM ab86 n WHERE n.c683=g3.c683) AS c427,GROUP_CONCAT(DISTINCT CASE WHEN g3.c152=29 THEN CONCAT('',g3.c8) WHEN g3.c152=4 THEN CONCAT('',g3.c8) WHEN g3.c152 IS NULL THEN CONCAT('',g3.c8) WHEN g3.c152=31 THEN (SELECT u.c50 FROM t7 u WHERE u.c48=prab22ale2.c68) END SEPARATOR ',') AS ab13,GROUP_CONCAT(DISTINCT CASE WHEN g3.c152=29 THEN CONCAT('',g3.c8,'-,') WHEN g3.c152=4 THEN CONCAT('',g3.c8,'-,') WHEN g3.c152 IS NULL THEN CONCAT('',g3.c8,'-,') WHEN g3.c152=31 THEN ADDTIME(prab22ale2.c69,'') END SEPARATOR ',') AS ab12,CAST(ADDTIME(pm.c22,'') AS DATE) AS c22,CASE WHEN g06.c688 IS NULL THEN d2.c688 ELSE CONCAT(d2.c688,',',g06.c688) END AS ab79,CASE WHEN (g06.c688 IS NULL AND ab11.c48=0) THEN (SELECT u.c50 FROM t7 u WHERE u.c48=ab11.c68) WHEN (g06.c688 is NOT NULL AND ab11.c48=0) THEN REPLACE(CONCAT(IFNULL(IFNULL((SELECT u.c50 FROM t7 u WHERE u.c48=ab9.c68),u3.c50),''),',',IFNULL(IFNULL((SELECT u.c50 FROM t7 u WHERE u.c48=ab11.c68),u.c50),'')),',','') WHEN (g06.c688 is NOT NULL AND ab9.c48=33) THEN CONCAT((SELECT IFNULL(u.c50,'') FROM t7 u WHERE u.c48=ab9.c68),',-',pm.c42) WHEN (d2.c688 is NOT NULL AND g06.c688 is NOT NULL) THEN CONCAT('',pm.c42,',','',pm.c42) WHEN (d2.c688 IS NULL AND g06.c688 IS NULL) THEN NULL ELSE CONCAT('',pm.c42) END AS ab78,REPLACE(CASE WHEN (g06.c688 IS NULL AND ab11.c48=0) THEN IFNULL(ADDTIME(ab11.ct1,''),'') WHEN (g06.c688 is NOT NULL AND ab11.c48=0) THEN CONCAT(IFNULL(ADDTIME(ab9.ct1,''),''),',',IFNULL(ADDTIME(ab11.ct1,''),'')) WHEN (g06.c688 is NOT NULL AND ab9.c48=33) THEN CONCAT(IFNULL(ADDTIME(ab9.ct1,''),''),',-',pm.c42,'-,') WHEN (d2.c688 is NOT NULL AND g06.c688 is NOT NULL) THEN CONCAT('',pm.c42,'-,',',','',pm.c42,'-,') WHEN (d2.c688 is NULL AND g06.c688 IS NULL) THEN NULL ELSE CONCAT('',pm.c42,'-,') END,',','') AS ab80,CAST(ADDTIME(pm.c31,'') AS DATE) AS prab22al_aaprv_dt,CAST(ADDTIME(pm.c1702,'') AS DATE) AS c1702,pm.c1703 AS c1703,CAST(ADDTIME(ab54.c688,'') AS DATE) AS c688,CAST(ADDTIME(pm.c23,'') AS DATE) AS c23,CAST(ADDTIME(ab54.c684,'') AS DATE) AS c684,CAST(ADDTIME(pm.c27,'') AS DATE) AS c27,CAST(ADDTIME(pm.c28,'') AS DATE) AS ab3,ab10.c53 AS ab2,ab42.c428 AS c428,bb1.c680 AS ab97,CASE WHEN op.c683=''THEN''WHEN op.c683=''THEN''ELSE op.c683 END AS c683,l.c687 AS c687,CASE WHEN op.c151=''THEN''WHEN op.c151=''THEN''ELSE op.c151 END AS c151,ab8.c680 AS c28ab87,ab15.c57 AS c29ab85,(SELECT ab93.c50 FROM t7 ab93 WHERE ab93.c48=pm.b3) AS c57,CONCAT(em.c75,'_',ab76.c71) AS c680,em.c75 AS c75,ab76.c71 AS c71,ab21.c15 AS c15,ab46.c37 AS c37,op.c001 AS c001,op.bl1 AS bl1,ab681.c31 AS c36 FROM (((((((((((((((((((((((((((((((((((t24 pm JOIN t27 ab21 on(ab21.c15=pm.c15 AND ab21.c15=6 AND ab21.c15=7)) JOIN t9 ab54 on(ab54.c42=pm.c42)) JOIN t5 ab76 on(ab76.c71=pm.c420)) JOIN t5 ju on(ju.c71=pm.c19)) JOIN t10 em on(em.c75=pm.c26)) JOIN t11 ab68 on(ab68.c30=pm.c30)) JOIN t12 op on(op.c42=pm.c42)) JOIN t13 om on(om.c42=pm.c42 AND om.c06='')) JOIN t14 ab42 on(ab42.c44=om.c44)) JOIN t14 ab41 on(ab41.c428=om.c44)) JOIN t16 bb1 on(bb1.c20=op.c20)) JOIN t3 l on(bb1.c49=l.c76)) JOIN t16 ab8 on(ab8.c20=op.c28)) JOIN t5 ab15 on(ab15.c71=op.c29)) JOIN t8 ab49 on(ab49.c42=pm.c42)) JOIN t4 ab37 on(ab37.c682=ab54.c682 AND ab37.c15=20)) JOIN t25 ag4 on(ag4.c42=pm.c42)) JOIN t25 g3 on(g3.c42=pm.c42 AND g3.c151=''AND g3.c681 IS NULL)) JOIN ab86 ab18 on(ab18.c683=ag4.c683)) JOIN ab86 ab17 on(ab17.c683=g3.c683)) JOIN t26 prab22alab11 on(prab22alab11.c8=g3.c8)) JOIN t26 prab22ale2 on(prab22ale2.c170=(SELECT ab22.c170 FROM t26 ab22 WHERE ab22.c5=31 AND ab22.c8=g3.c8 LIMIT 1))) JOIN t21 ab61 on(ab61.c15=pm.c15 AND ab61.c75=pm.c26)) JOIN e7 d2 on(d2.c687=ab61.c683)) JOIN e7 g06 on(g06.c687=ab61.c684)) JOIN t17 ab11 on(ab11.c42=pm.c42 AND ab11.c48=0)) JOIN t17 e2 on(e2.c42=pm.c42 AND e2.c48=29)) JOIN t17 ab10 on(ab10.c42=pm.c42 AND ab10.c48=40)) JOIN t17 ab9 on(ab9.c42=pm.c42 AND ab9.c48=33)) JOIN t18 ab32 on(ab32.c18=pm.c18)) JOIN t6 ab75 on(ab75.c53=pm.c420)) JOIN t23 ab46 on(ab46.c35=om.c35)) JOIN t11 ab681 on(ab681.c30=ab46.c36)) JOIN t7 u on(u.c48=ab11.c68)) JOIN t7 u3 on(u3.c48=ab9.c68)) WHERE (pm.c24 IS NULL OR pm.c24='') AND ab68.c31 is NOT NULL AND ab21.c2 is NOT NULL AND pm.c29 is NOT NULL AND pm.c42 NOT IN (0,0);
|
CREATE ALGORITHM=UNDEFINED DEFINER=root@localhost SQL SECURITY DEFINER VIEW e0 AS SELECT 'a' AS TYPE,ai.c680 AS ab100,ai.c75 AS c75,ai.c46 AS c46,l.c687 AS ab99,ai.c43 AS c43,p.c681 AS c681,ai.c47 AS PRODUCT,ai.c44 AS c44,ai.c42 AS c42,ai.c71 AS c71,ai.c420 AS c420,ai.c57 AS c57,ai.c31 AS c68,ai.c45 AS ab94,ai.ab3 AS ab3,substr(ai.prab22al_typ_nm,0,0)AS c423,ai.ab80 AS ab83,ai.ab79 AS approver_grouab22,ai.c22 AS ab82,l.c687 AS c687,ai.ab69 AS ab69,ai.c684 AS ab57,ai.c684 AS expected_ab57,ai.c683 AS ab98,ai.ab97 AS ab56,ai.c1702 AS c1702,ai.c428 AS ab40,ai.c27 AS ab39,ai.prab22al_aaprv_dt AS prab22al_aaprv_dt,ai.c72 AS a93,ai.c427 AS c427,ai.ab12 AS ab12,ai.ab12 AS ab14,ai.c20 AS c20,ai.c151 AS c151,ai.c28ab87 AS c28ab87,ai.ap AS ab7,CAST(NULL AS DATE) AS ab77,CAST(NULL AS char charSET utf8mb4) AS ab58,CAST(NULL AS char charSET utf8mb4) AS ab72,CAST(NULL AS DATE) AS ab71,CAST(NULL AS char charSET utf8mb4) AS ab70,CAST(NULL AS DATE) AS c56,CAST(NULL AS DATE) AS c55,CAST(NULL AS DATE) AS c53,CAST(NULL AS DATE) AS ab36,CAST(NULL AS DATE) AS ab35,CAST(NULL AS DATE) AS ab38_ab14,CAST(NULL AS char charSET utf8mb4) AS ab38_c427,CAST(NULL AS char charSET utf8mb4) AS c428,ai.c32 AS ab95,ai.c77 AS c77,ai.c35 AS ab84,CAST(NULL AS char charSET utf8mb4) AS c51,CASE WHEN ai.c15 IN (0,0,0) THEN ai.c23 + INTerval 12 month WHEN ai.c15 IN (0,0) THEN ai.c23 + INTerval 6 month END AS eb1,CAST(ADDTIME(ai.c23,'') AS DATE) AS c23 FROM (((ab51 ai JOIN t19 ab66 on(ai.c75=ab66.c75)) JOIN t3 l on(l.c76=ab66.c76)) JOIN t4 p on(p.c43=ai.c43)) UNION ALL SELECT 'no_a' AS TYPE,ai.c680 AS ab100,ai.c75 AS c75,ai.c46 AS c46,l.c687 AS ab99,NULL AS c43,NULL AS c681,ai.ab30 AS PRODUCT,ai.c44 AS c44,ai.c42 AS c42,ai.c71 AS c71,ai.c420 AS c420,ai.c57 AS c57,ai.c68 AS c68,ai.c45 AS ab94,ai.ab3 AS ab3,ai.c2 AS c423,NULL AS ab83,NULL AS approver_grouab22,NULL AS ab82,l.c687 AS c687,NULL AS ab69,NULL AS ab57,NULL AS expected_ab57,NULL AS ab98,NULL AS ab56,NULL AS c1702,NULL AS ab40,NULL AS ab39,NULL AS prab22al_aaprv_dt,NULL AS a93,NULL AS c427,NULL AS ab12,NULL AS ab14,NULL AS c20,NULL AS c151,NULL AS c28ab87,NULL AS ab7,ai.c52 AS ab77,ai.c47 AS ab58,CAST(NULL AS char charSET utf8mb4) AS ab72,CAST(NULL AS DATE) AS ab71,CAST(NULL AS char charSET utf8mb4) AS ab70,CAST(NULL AS DATE) AS c56,CAST(NULL AS DATE) AS c55,CAST(NULL AS DATE) AS c53,CAST(NULL AS DATE) AS ab36,CAST(NULL AS DATE) AS ab35,CAST(NULL AS DATE) AS ab38_ab14,CAST(NULL AS char charSET utf8mb4) AS ab38_c427,CAST(NULL AS char charSET utf8mb4) AS c428,CAST(NULL AS char charSET utf8mb4) AS ab95,CAST(NULL AS char charSET utf8mb4) AS c77,CAST(NULL AS char charSET utf8mb4) AS ab84,CAST(NULL AS char charSET utf8mb4) AS c51,CAST(NULL AS char charSET utf8mb4) AS eb1,CAST(NULL AS char charSET utf8mb4) AS c23 FROM ((ab55 ai JOIN t19 ab66 on(ai.c75=ab66.c75)) JOIN t3 l on(l.c76=ab66.c76)) UNION ALL SELECT 'ab54os_ab38' AS TYPE,nab38.c680 AS ab100,nab38.c75 AS c75,nab38.c46 AS c46,l.c687 AS ab99,nab38.c43 AS c43,nab38.c681 AS c681,nab38.c47 AS PRODUCT,nab38.c44 AS c44,nab38.c42 AS c42,nab38.c71 AS c71,nab38.c420 AS c420,nab38.c57 AS c57,nab38.c48 AS c68,nab38.c45 AS ab94,NULL AS ab3,nab38.c423 AS c423,NULL AS ab83,NULL AS approver_grouab22,NULL AS ab82,l.c687 AS c687,NULL AS ab69,NULL AS ab57,NULL AS expected_ab57,NULL AS ab98,NULL AS ab56,NULL AS c1702,NULL AS ab40,NULL AS ab39,NULL AS prab22al_aaprv_dt,NULL AS a93,NULL AS c427,NULL AS ab12,NULL AS ab14,NULL AS c20,NULL AS c151,NULL AS c28ab87,NULL AS ab7,CAST(NULL AS DATE) AS ab77,CAST(NULL AS char charSET utf8mb4) AS ab58,nab38.c52 AS ab72,nab38.c50 AS ab71,nab38.c429 AS ab70,nab38.c56 AS c56,nab38.c55 AS c55,nab38.c53 AS c53,nab38.c54 AS ab36,nab38.c49 AS ab35,nab38.c425 AS ab38_ab14,nab38.c427 AS ab38_c427,nab38.c428 AS c428,CAST(NULL AS char charSET utf8mb4) AS ab95,CAST(NULL AS char charSET utf8mb4) AS c77,CAST(NULL AS char charSET utf8mb4) AS ab84,nab38.c51 AS c51,CAST(NULL AS char charSET utf8mb4) AS eb1,CAST(NULL AS char charSET utf8mb4) AS c23 FROM ((t22 nab38 JOIN t19 ab66 on(nab38.c75=ab66.c75)) JOIN t3 l on(l.c76=ab66.c76));
|
DELIMITER //
|
CREATE PROCEDURE p() BEGIN DECLARE e3 INT; DECLARE e2 VARCHAR(30); INSERT INTO t2 VALUES (0,e2,e3,0); SELECT * FROM e0; INSERT INTO t2 VALUES (0,e2,e3,0); END//
|
DELIMITER ;
|
CALL p();
|
CALL p();
|
Leads to:
10.6.0 03ff588d153f22f00ff00923e82498cbac63505f (Debug) |
Core was generated by `/test/MD060321-mariadb-10.6.0-linux-x86_64-dbg/bin/mysqld --no-defaults --core-'.
|
Program terminated with signal SIGSEGV, Segmentation fault.
|
#0 __pthread_kill (threadid=<optimized out>, signo=signo@entry=11)
|
at ../sysdeps/unix/sysv/linux/pthread_kill.c:56
|
[Current thread is 1 (Thread 0x14cff4bed700 (LWP 1078910))]
|
(gdb) bt
|
#0 __pthread_kill (threadid=<optimized out>, signo=signo@entry=11) at ../sysdeps/unix/sysv/linux/pthread_kill.c:56
|
#1 0x000055baaeaf73f3 in my_write_core (sig=sig@entry=11) at /test/10.6_dbg/mysys/stacktrace.c:424
|
#2 0x000055baae29c195 in handle_fatal_signal (sig=11) at /test/10.6_dbg/sql/signal_handler.cc:331
|
#3 <signal handler called>
|
#4 0x000055baae2d61b8 in THD::change_item_tree (new_value=0x14cfa44bfad8, place=0x0, this=0x14cfa4000db8) at /test/10.6_dbg/sql/sql_class.h:4345
|
#5 Item::split_sum_func2 (this=this@entry=0x14cfa4322d18, thd=0x14cfa4000db8, ref_pointer_array=<optimized out>, fields=@0x14cfa441a368: {<base_list> = {<Sql_alloc> = {<No data fields>}, first = 0x14cfa44bfc00, last = 0x14cfa4342698, elements = 56}, <No data fields>}, ref=0x0, split_flags=0) at /test/10.6_dbg/sql/item.cc:2296
|
#6 0x000055baae043d13 in JOIN::prepare (this=this@entry=0x14cfa441a040, tables_init=<optimized out>, conds_init=<optimized out>, og_num=<optimized out>, order_init=<optimized out>, skip_order_by=<optimized out>, group_init=0x0, having_init=0x0, proc_param_init=0x0, select_lex_arg=0x14cfa41d6140, unit_arg=0x14cfa41dbae0) at /test/10.6_dbg/sql/sql_select.cc:1398
|
#7 0x000055baae0c80ec in st_select_lex_unit::prepare_join (this=this@entry=0x14cfa41dbae0, thd_arg=0x14cfa4000db8, sl=sl@entry=0x14cfa41d6140, tmp_result=tmp_result@entry=0x14cfa4419f60, additional_options=additional_options@entry=0, is_union_select=is_union_select@entry=false) at /test/10.6_dbg/sql/sql_union.cc:1088
|
#8 0x000055baae0cc6fc in st_select_lex_unit::prepare (this=this@entry=0x14cfa41dbae0, derived_arg=derived_arg@entry=0x14cfa41c10a8, sel_result=0x14cfa4419f60, additional_options=additional_options@entry=0) at /test/10.6_dbg/sql/sql_union.cc:1481
|
#9 0x000055baadf81edd in mysql_derived_prepare (thd=0x14cfa4000db8, lex=<optimized out>, derived=0x14cfa41c10a8) at /test/10.6_dbg/sql/sql_derived.cc:817
|
#10 0x000055baadf80203 in mysql_handle_single_derived (lex=lex@entry=0x14cfa4213580, derived=derived@entry=0x14cfa41c10a8, phases=phases@entry=2) at /test/10.6_dbg/sql/sql_derived.cc:206
|
#11 0x000055baae0f1b37 in TABLE_LIST::handle_derived (this=this@entry=0x14cfa41c10a8, lex=lex@entry=0x14cfa4213580, phases=phases@entry=2) at /test/10.6_dbg/sql/table.cc:9203
|
#12 0x000055baadfa3945 in LEX::handle_list_of_derived (phases=2, table_list=<optimized out>, this=0x14cfa4213580) at /test/10.6_dbg/sql/table.h:2714
|
#13 st_select_lex::handle_derived (this=this@entry=0x14cfa427cc48, lex=lex@entry=0x14cfa4213580, phases=phases@entry=2) at /test/10.6_dbg/sql/sql_lex.cc:4936
|
#14 0x000055baae0f1b56 in TABLE_LIST::handle_derived (this=this@entry=0x14cfa40f3470, lex=lex@entry=0x14cfa4213580, phases=phases@entry=2) at /test/10.6_dbg/sql/table.cc:9200
|
#15 0x000055baadfa3945 in LEX::handle_list_of_derived (phases=2, table_list=<optimized out>, this=0x14cfa4213580) at /test/10.6_dbg/sql/table.h:2714
|
#16 st_select_lex::handle_derived (this=<optimized out>, lex=0x14cfa4213580, phases=phases@entry=2) at /test/10.6_dbg/sql/sql_lex.cc:4936
|
#17 0x000055baae042a61 in JOIN::prepare (this=this@entry=0x14cfa42817a0, tables_init=tables_init@entry=0x14cfa40f3470, conds_init=conds_init@entry=0x0, og_num=og_num@entry=0, order_init=order_init@entry=0x0, skip_order_by=skip_order_by@entry=false, group_init=0x0, having_init=0x0, proc_param_init=0x0, select_lex_arg=0x14cfa40f3018, unit_arg=0x14cfa4213648) at /test/10.6_dbg/sql/sql_select.cc:1158
|
#18 0x000055baae05be2b in mysql_select (thd=thd@entry=0x14cfa4000db8, tables=0x14cfa40f3470, fields=@0x14cfa40f3168: {<base_list> = {<Sql_alloc> = {<No data fields>}, first = 0x14cfa41a1528, last = 0x14cfa446fb70, elements = 57}, <No data fields>}, conds=0x0, og_num=0, order=0x0, group=0x0, having=0x0, proc_param=0x0, select_options=2214858496, result=0x14cfa4281778, unit=0x14cfa4213648, select_lex=0x14cfa40f3018) at /test/10.6_dbg/sql/sql_select.cc:4709
|
#19 0x000055baae05c163 in handle_select (thd=thd@entry=0x14cfa4000db8, lex=lex@entry=0x14cfa4213580, result=result@entry=0x14cfa4281778, setup_tables_done_option=setup_tables_done_option@entry=0) at /test/10.6_dbg/sql/sql_select.cc:417
|
#20 0x000055baadfcfd78 in execute_sqlcom_select (thd=thd@entry=0x14cfa4000db8, all_tables=0x14cfa40f3470) at /test/10.6_dbg/sql/sql_parse.cc:6230
|
#21 0x000055baadfdca15 in mysql_execute_command (thd=0x14cfa4000db8) at /test/10.6_dbg/sql/sql_parse.cc:3926
|
#22 0x000055baadefbfc1 in sp_instr_stmt::exec_core (this=0x14cfa41a15a0, thd=<optimized out>, nextp=0x14cff4beb25c) at /test/10.6_dbg/sql/sp_head.cc:3770
|
#23 0x000055baadf09708 in sp_lex_keeper::reset_lex_and_exec_core (this=this@entry=0x14cfa41a15e8, thd=thd@entry=0x14cfa4000db8, nextp=nextp@entry=0x14cff4beb25c, open_tables=open_tables@entry=false, instr=instr@entry=0x14cfa41a15a0) at /test/10.6_dbg/sql/sp_head.cc:3497
|
#24 0x000055baadf0a29d in sp_instr_stmt::execute (this=0x14cfa41a15a0, thd=0x14cfa4000db8, nextp=0x14cff4beb25c) at /test/10.6_dbg/sql/sp_head.cc:3676
|
#25 0x000055baadf01f19 in sp_head::execute (this=this@entry=0x14cfa40fc390, thd=thd@entry=0x14cfa4000db8, merge_da_on_success=merge_da_on_success@entry=true) at /test/10.6_dbg/sql/sp_head.cc:1437
|
#26 0x000055baadf03f98 in sp_head::execute_procedure (this=0x14cfa40fc390, thd=thd@entry=0x14cfa4000db8, args=0x14cfa4005e48) at /test/10.6_dbg/sql/sp_head.cc:2451
|
#27 0x000055baadfcf71a in do_execute_sp (thd=thd@entry=0x14cfa4000db8, sp=sp@entry=0x14cfa40fc390) at /test/10.6_dbg/sql/sql_parse.cc:3005
|
#28 0x000055baadfd5096 in Sql_cmd_call::execute (this=0x14cfa4013c28, thd=0x14cfa4000db8) at /test/10.6_dbg/sql/sql_parse.cc:3251
|
#29 0x000055baadfe259b in mysql_execute_command (thd=thd@entry=0x14cfa4000db8) at /test/10.6_dbg/sql/sql_parse.cc:5972
|
#30 0x000055baadfc91d7 in mysql_parse (thd=thd@entry=0x14cfa4000db8, rawbuf=<optimized out>, length=<optimized out>, parser_state=parser_state@entry=0x14cff4bec410) at /test/10.6_dbg/sql/sql_parse.cc:7998
|
#31 0x000055baadfd7b03 in dispatch_command (command=command@entry=COM_QUERY, thd=thd@entry=0x14cfa4000db8, packet=packet@entry=0x14cfa400b339 "CALL p()", packet_length=packet_length@entry=8, blocking=blocking@entry=true) at /test/10.6_dbg/sql/sql_class.h:1318
|
#32 0x000055baadfdaede in do_command (thd=0x14cfa4000db8, blocking=blocking@entry=true) at /test/10.6_dbg/sql/sql_parse.cc:1397
|
#33 0x000055baae133c8e in do_handle_one_connection (connect=<optimized out>, connect@entry=0x55bab0858418, put_in_cache=put_in_cache@entry=true) at /test/10.6_dbg/sql/sql_connect.cc:1410
|
#34 0x000055baae134293 in handle_one_connection (arg=arg@entry=0x55bab0858418) at /test/10.6_dbg/sql/sql_connect.cc:1312
|
#35 0x000055baae5ddce9 in pfs_spawn_thread (arg=0x55bab07a0c08) at /test/10.6_dbg/storage/perfschema/pfs.cc:2201
|
#36 0x000014cff7cb9609 in start_thread (arg=<optimized out>) at pthread_create.c:477
|
#37 0x000014cff78a8293 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95
|
Bug confirmed present in:
MariaDB: 10.2.38 (dbg), 10.2.38 (opt), 10.3.29 (dbg), 10.3.29 (opt), 10.4.19 (dbg), 10.4.19 (opt), 10.5.10 (dbg), 10.5.10 (opt), 10.6.0 (dbg), 10.6.0 (opt)
Bug (or feature/syntax) confirmed not present in:
MySQL: 5.5.62 (dbg), 5.5.62 (opt), 5.6.51 (dbg), 5.6.51 (opt), 5.7.33 (dbg), 5.7.33 (opt), 8.0.23 (dbg), 8.0.23 (opt)
Issue will reproduce when SOURCE testcase.sql is used, and also when just pasting the SQL into the CLI.
sanja over to you.
All Unique ID's seen for the same testcase, across versions
SIGSEGV|THD::change_item_tree|Item::split_sum_func2|JOIN::prepare|JOIN::prepare
|
SIGSEGV|THD::change_item_tree|Item::split_sum_func2|JOIN::prepare|st_select_lex_unit::prepare
|
SIGSEGV|THD::change_item_tree|Item::split_sum_func2|JOIN::prepare|st_select_lex_unit::prepare_join
|
SIGSEGV|THD::change_item_tree|JOIN::prepare|st_select_lex_unit::prepare_join|st_select_lex_unit::prepare
|
minimal test case:
CREATE TABLE t1(f0 INT);
|
|
CREATE VIEW v1 AS
|
SELECT
|
f0 AS f1
|
FROM t1;
|
|
CREATE VIEW v2 AS
|
SELECT
|
(SELECT GROUP_CONCAT(v1.f1 SEPARATOR ', ')
|
FROM v1 n) AS f2,
|
GROUP_CONCAT('' SEPARATOR ', ') AS f3
|
FROM v1;
|
|
CREATE VIEW v3 AS
|
SELECT 1 as f4 FROM v2;
|
|
CREATE PROCEDURE p1()
|
SELECT * FROM v3;
|
|
CALL p1();
|
CALL p1();
|
|
drop procedure p1;
|
drop view v1,v2,v3;
|
drop table t1;
|
commit 7e8cefe8719ec0b968ac58e787c0d597b77d1746 (HEAD > bb-10.2MDEV-24454, origin/bb-10.2-MDEV-24454)
Author: Oleksandr Byelkin <sanja@mariadb.com>
Date: Fri Jul 23 11:14:13 2021 +0200
MDEV-24454 Crash at change_item_tree
Use in_sum_func (and so nest_level) only in LEX to which SELECT lex belong to
Reduce usage current_select (because it does not point correct SELECT_LEX sometipes on prepare)
Change context for all clesses inherited from Item_ident (was only for Item_field) in case of pushing down it to HAVING.
Now name resolution context have to have SELECT_LEX reference if the context is present.
Fixed feedback plugin stack usage.
if you have a core, you can examine thd->query_string to know what sql statement has caused it