[MDEV-30375] Server crashes in TABLE_LIST::is_active_sjm/TABLE_LIST::is_sjm_scan_table after query WITH ROLLUP Created: 2023-01-10  Updated: 2023-02-14  Resolved: 2023-02-10

Status: Closed
Project: MariaDB Server
Component/s: Optimizer
Affects Version/s: N/A
Fix Version/s: 11.0.1

Type: Bug Priority: Critical
Reporter: Alice Sherepa Assignee: Sergei Petrunia
Resolution: Duplicate Votes: 0
Labels: None

Issue Links:
Relates
relates to MDEV-26974 Improve selectivity and related costs... Closed

 Description   

CREATE TABLE t1 ( a int) engine=myisam ;
INSERT INTO t1 VALUES (1);
 
SELECT  ROW_NUMBER() OVER (), CASE UUID() WHEN (FORMAT('111',a)) THEN 1 END 
FROM t1 GROUP BY a  WITH ROLLUP;

Repeatable with Myisam/aria, not Innodb.

bb-11.0 0ff27057415989763809662cb33cd47b7ccc9b54

Version: '11.0.1-MariaDB-debug-log'  
230110 15:36:36 [ERROR] mysqld got signal 11 ;
 
Server version: 11.0.1-MariaDB-debug-log
 
sql/signal_handler.cc:236(handle_fatal_signal)[0x55bddcc7304a]
sigaction.c:0(__restore_rt)[0x7ffbcca2a420]
sql/sql_select.cc:12735(TABLE_LIST::is_active_sjm())[0x55bddc4cedb9]
sql/opt_subselect.cc:7384(TABLE_LIST::is_sjm_scan_table())[0x55bddc960fa4]
sql/sql_select.cc:4270(JOIN::add_sorting_to_table(st_join_table*, st_order*))[0x55bddc48f26f]
sql/sql_select.cc:4030(JOIN::make_aggr_tables_info())[0x55bddc48c83d]
sql/sql_select.cc:3341(JOIN::optimize_stage2())[0x55bddc48482c]
sql/sql_select.cc:2594(JOIN::optimize_inner())[0x55bddc47ce4c]
sql/sql_select.cc:1899(JOIN::optimize())[0x55bddc475bd5]
sql/sql_select.cc:5111(mysql_select(THD*, TABLE_LIST*, List<Item>&, Item*, unsigned int, st_order*, st_order*, Item*, st_order*, unsigned long long, select_result*, st_select_lex_unit*, st_select_lex*))[0x55bddc4974e8]
sql/sql_select.cc:609(handle_select(THD*, LEX*, select_result*, unsigned long long))[0x55bddc4675a7]
sql/sql_parse.cc:6263(execute_sqlcom_select(THD*, TABLE_LIST*))[0x55bddc38aa82]
sql/sql_parse.cc:3947(mysql_execute_command(THD*, bool))[0x55bddc37937b]
sql/sql_parse.cc:7998(mysql_parse(THD*, char*, unsigned int, Parser_state*))[0x55bddc39581c]
sql/sql_parse.cc:1896(dispatch_command(enum_server_command, THD*, char*, unsigned int, bool))[0x55bddc36bad8]
sql/sql_parse.cc:1407(do_command(THD*, bool))[0x55bddc368814]
sql/sql_connect.cc:1415(do_handle_one_connection(CONNECT*, bool))[0x55bddc831909]
sql/sql_connect.cc:1319(handle_one_connection)[0x55bddc831266]
perfschema/pfs.cc:2203(pfs_spawn_thread)[0x55bddd46bba6]
nptl/pthread_create.c:478(start_thread)[0x7ffbcca1e609]
??:0(clone)[0x7ffbcc5ef133]
 
Query (0x6290001092a8): SELECT  ROW_NUMBER() OVER (), CASE UUID() WHEN (FORMAT('111',a)) THEN 1 END 
FROM t1 GROUP BY a  WITH ROLLUP



 Comments   
Comment by Michael Widenius [ 2023-01-11 ]

This happens because bb-11.0 does not yet have the fix for MDEV-29129: Performance regression starting in 10.6: select order by limit

This will happen with the next rebase/merge of bb-11.0

Comment by Sergei Petrunia [ 2023-02-10 ]

Now, after rebase, we have the fix for MDEV-29129 in the tree. The testcase no longer causes crashes.

Generated at Thu Feb 08 10:15:46 UTC 2024 using Jira 8.20.16#820016-sha1:9d11dbea5f4be3d4cc21f03a88dd11d8c8687422.