Details
-
Bug
-
Status: Closed (View Workflow)
-
Major
-
Resolution: Duplicate
-
11.3.0
-
None
-
Ubuntu 20.04
Description
Run these queries in release build:
CREATE TABLE x ( x NCHAR ( 1 ) ) ;
INSERT INTO x ( x ) VALUES ( 1 ) ;
UPDATE x SET x = 1 WHERE x = 1 ;
INSERT INTO x ( x ) VALUES ( 1 ) , ( 1 ) ;
SELECT * FROM x WHERE x IN ( SELECT x FROM ( SELECT x FROM ( SELECT x FROM ( SELECT x FROM x UNION SELECT x FROM x WHERE x = CASE x IN ( SELECT DISTINCT x WHERE x = x + 1 ) WHEN 1 THEN x ELSE 1 END NOT LIKE 'x' GROUP BY x = 1 OR x < ( SELECT ( SELECT * FROM x WHERE x = x ) FROM x WHERE ( SELECT x > 1.000000 GROUP BY x = 'x' OR CASE WHEN 1 = 1 THEN ( SELECT x FROM x WHERE x = 1 AND x <= x ORDER BY x IS NULL LIMIT 1 OFFSET 1 ) NOT LIKE x + x WHEN CASE WHEN x = 1 THEN x ELSE x + 1 END / 1 THEN 1 ELSE x + 1 END HAVING x IN ( SELECT DISTINCT x FROM x WHERE x = ( x = 1 OR x > 'x' ) NOT LIKE 'x' ) ) > ( SELECT x ) ) ) AS x NATURAL LEFT JOIN x GROUP BY x ) AS x WHERE x IN ( SELECT CASE WHEN x >= 1 THEN x BETWEEN ( WITH RECURSIVE x AS ( SELECT 1 ) SELECT x AS x FROM x AS x GROUP BY x HAVING x ) AND 1 ELSE ( 1 * x ) END FROM x WINDOW x AS ( PARTITION BY x ORDER BY x DESC ) ) ) AS x ) ORDER BY x + x , x LIMIT 1 OFFSET 1 ;
Will trigger Segmentation fault.
GDB info:
Thread 16 "mariadbd" received signal SIGSEGV, Segmentation fault.
[Switching to Thread 0x7fffd242e300 (LWP 3312)]
0x000000000134b994 in mark_select_range_as_dependent (thd=thd@entry=0x62b00016c218,
last_select=last_select@entry=0x6290000919e0, current_sel=current_sel@entry=0x62d00013ab70,
found_field=found_field@entry=0x61900008bc00, found_item=0x62d00013b048,
resolved_item=resolved_item@entry=0x62d00013b048, suppress_warning_output=true)
at /home/wx/mariadb-11.3.0/sql/item.cc:5280
5280 prev_subselect_item->used_tables_cache|= OUTER_REF_TABLE_BIT;
#0 0x000000000134b994 in mark_select_range_as_dependent (thd=thd@entry=0x62b00016c218, last_select=last_select@entry=0x6290000919e0, current_sel=current_sel@entry=0x62d0000d6b70, found_field=found_field@entry=0x619000293700, found_item=0x62d0000d7048, resolved_item=resolved_item@entry=0x62d0000d7048, suppress_warning_output=true) at /home/wx/mariadb-11.3.0/sql/item.cc:5280
#1 0x00000000009cf446 in find_field_in_tables (thd=<optimized out>, item=<optimized out>, first_table=<optimized out>, last_table=<optimized out>, ignored_tables=<optimized out>, ref=<optimized out>, report_error=<optimized out>, check_privileges=<optimized out>, register_tree_change=<optimized out>) at /home/wx/mariadb-11.3.0/sql/sql_base.cc:6796
#2 0x000000000135055a in Item_field::fix_fields (this=<optimized out>, thd=<optimized out>, reference=<optimized out>) at /home/wx/mariadb-11.3.0/sql/item.cc:6013
#3 0x0000000001459380 in Item::fix_fields_if_needed (this=0x0, thd=0x62b00016c218, ref=0x62d0000d7c78) at /home/wx/mariadb-11.3.0/sql/item.h:1147
#4 Item_func::fix_fields (this=<optimized out>, thd=<optimized out>, ref=<optimized out>) at /home/wx/mariadb-11.3.0/sql/item_func.cc:349
#5 0x0000000000af0303 in st_select_lex::pushdown_from_having_into_where (this=0x62d0000d6b70, thd=0x62b00016c218, having=0x0) at /home/wx/mariadb-11.3.0/sql/sql_lex.cc:11284
#6 0x0000000000c12af5 in JOIN::optimize_inner (this=<optimized out>) at /home/wx/mariadb-11.3.0/sql/sql_select.cc:2381
#7 0x0000000000bfc156 in JOIN::optimize (this=0x62d0000f3aa8) at /home/wx/mariadb-11.3.0/sql/sql_select.cc:1944
#8 0x0000000000ab5421 in st_select_lex::optimize_unflattened_subqueries (this=<optimized out>, const_only=<optimized out>) at /home/wx/mariadb-11.3.0/sql/sql_lex.cc:4916
#9 0x0000000000c0856c in JOIN::optimize_stage2 (this=0x62d0000df1e0) at /home/wx/mariadb-11.3.0/sql/sql_select.cc:3229
#10 0x0000000000c13911 in JOIN::optimize_inner (this=<optimized out>) at /home/wx/mariadb-11.3.0/sql/sql_select.cc:2650
#11 0x0000000000bfc156 in JOIN::optimize (this=this@entry=0x62d0000df1e0) at /home/wx/mariadb-11.3.0/sql/sql_select.cc:1944
#12 0x0000000000be4fdf in mysql_select (thd=<optimized out>, thd@entry=0x62b00016c218, tables=<optimized out>, fields=..., conds=<optimized out>, og_num=<optimized out>, order=<optimized out>, group=0x0, having=0x0, proc_param=0x0, select_options=<optimized out>, result=0x62d0000df1b0, unit=0x62b0001704a8, select_lex=0x6290000919e0) at /home/wx/mariadb-11.3.0/sql/sql_select.cc:5235
#13 0x0000000000be4596 in handle_select (thd=thd@entry=0x62b00016c218, lex=<optimized out>, lex@entry=0x62b0001703c8, result=<optimized out>, result@entry=0x62d0000df1b0, setup_tables_done_option=<optimized out>, setup_tables_done_option@entry=0) at /home/wx/mariadb-11.3.0/sql/sql_select.cc:628
#14 0x0000000000b3df18 in execute_sqlcom_select (thd=0x62b00016c218, all_tables=<optimized out>) at /home/wx/mariadb-11.3.0/sql/sql_parse.cc:6013
#15 0x0000000000b2cd51 in mysql_execute_command (thd=0x62b00016c218, is_called_from_prepared_stmt=<optimized out>) at /home/wx/mariadb-11.3.0/sql/sql_parse.cc:3912
#16 0x0000000000b1fe79 in mysql_parse (thd=thd@entry=0x62b00016c218, rawbuf=<optimized out>, length=<optimized out>, parser_state=<optimized out>, parser_state@entry=0x7fffd242ca80) at /home/wx/mariadb-11.3.0/sql/sql_parse.cc:7734
#17 0x0000000000b19069 in dispatch_command (command=<optimized out>, thd=0x62b00016c218, packet=<optimized out>, packet_length=<optimized out>, blocking=<optimized out>) at /home/wx/mariadb-11.3.0/sql/sql_parse.cc:1893
#18 0x0000000000b20b71 in do_command (thd=0x62b00016c218, blocking=true) at /home/wx/mariadb-11.3.0/sql/sql_parse.cc:1406
#19 0x0000000000f03476 in do_handle_one_connection (connect=<optimized out>, put_in_cache=<optimized out>) at /home/wx/mariadb-11.3.0/sql/sql_connect.cc:1445
#20 0x0000000000f02eb9 in handle_one_connection (arg=arg@entry=0x608000df1338) at /home/wx/mariadb-11.3.0/sql/sql_connect.cc:1347
#21 0x0000000001a00c1b in pfs_spawn_thread (arg=0x617000005498) at /home/wx/mariadb-11.3.0/storage/perfschema/pfs.cc:2201
#22 0x00007ffff79f7609 in start_thread () from /lib/x86_64-linux-gnu/libpthread.so.0
#23 0x00007ffff770f133 in clone () from /lib/x86_64-linux-gnu/libc.so.6
Attachments
Issue Links
- duplicates
-
MDEV-32294 fix_fields() problem with inconsistent outer context paths
-
- Closed
-