Details
Description
Run these queries in debug build:
CREATE TABLE t0 ( c26 INT , CONSTRAINT cc0 UNIQUE i0 ( c26 ) ) ;
INSERT INTO t0 VALUES ( 120 ) , ( -60 ) ;
CREATE VIEW v0 AS SELECT c26 AS c43 , c26 AS c7 , -90 AS c10 FROM t0 ;
WITH t1 AS ( SELECT -4 AS c4 , 352814400749889744 AS c17 ) SELECT t3 . c17 AS c52 FROM t1 JOIN ( SELECT c4 AS c40 FROM t1 ) AS t2 JOIN t1 AS t3 ON DEFAULT ( t2 . c40 ) = t3 . c4 ON t2 . c40 = t3 . c17 WHERE t1 . c4 = -10 ;
Will trigger Assertion Failed.
GDB info:
#0 0x00007ffff6c0c00b in raise () from /lib/x86_64-linux-gnu/libc.so.6
#1 0x00007ffff6beb859 in abort () from /lib/x86_64-linux-gnu/libc.so.6
#2 0x00007ffff6beb729 in ?? () from /lib/x86_64-linux-gnu/libc.so.6
#3 0x00007ffff6bfcfd6 in __assert_fail () from /lib/x86_64-linux-gnu/libc.so.6
#4 0x000055555701971b in find_field_in_table_ref (thd=0x62c0001e0288, table_list=0x6290000f89d8, name=0x0, length=0, item_name=0x0, db_name=0x0, table_name=0x0, ignored_tables=0x0, ref=0x6290001c8690, check_privileges=true, allow_rowid=false, cached_field_index_ptr=0x6290001c85d0, register_tree_change=true, actual_table=0x7fffd1629e00) at /home/wx/mariadb-11.3.0/sql/sql_base.cc:6454
#5 0x000055555701bb61 in find_field_in_tables (thd=0x62c0001e0288, item=0x6290001c84e0, first_table=0x6290000f89d8, last_table=0x0, ignored_tables=0x0, ref=0x6290001c8690, report_error=IGNORE_EXCEPT_NON_UNIQUE, check_privileges=true, register_tree_change=true) at /home/wx/mariadb-11.3.0/sql/sql_base.cc:6833
#6 0x0000555557b9f4b8 in Item_field::fix_fields (this=0x6290001c84e0, thd=0x62c0001e0288, reference=0x6290001c8690) at /home/wx/mariadb-11.3.0/sql/item.cc:6013
#7 0x0000555556f0404f in Item::fix_fields_if_needed (this=0x6290001c84e0, thd=0x62c0001e0288, ref=0x6290001c8690) at /home/wx/mariadb-11.3.0/sql/item.h:1147
#8 0x0000555557c6c9f2 in Item_func::fix_fields (this=0x6290001c8608, thd=0x62c0001e0288, ref=0x6290001c54e0) at /home/wx/mariadb-11.3.0/sql/item_func.cc:349
#9 0x00005555572bf5f9 in JOIN::optimize_inner (this=0x6290001c5048) at /home/wx/mariadb-11.3.0/sql/sql_select.cc:2309
#10 0x00005555572bbba6 in JOIN::optimize (this=0x6290001c5048) at /home/wx/mariadb-11.3.0/sql/sql_select.cc:1944
#11 0x00005555570d7fb4 in mysql_derived_optimize (thd=0x62c0001e0288, lex=0x62c0001e45f8, derived=0x6290001862a8) at /home/wx/mariadb-11.3.0/sql/sql_derived.cc:1037
#12 0x00005555570d27b6 in mysql_handle_single_derived (lex=0x62c0001e45f8, derived=0x6290001862a8, phases=4) at /home/wx/mariadb-11.3.0/sql/sql_derived.cc:200
#13 0x00005555572c10e1 in JOIN::optimize_inner (this=0x6290001c2ae8) at /home/wx/mariadb-11.3.0/sql/sql_select.cc:2442
#14 0x00005555572bbba6 in JOIN::optimize (this=0x6290001c2ae8) at /home/wx/mariadb-11.3.0/sql/sql_select.cc:1944
#15 0x00005555572dd9ba in mysql_select (thd=0x62c0001e0288, tables=0x6290000f6c48, fields=..., conds=0x629000188640, og_num=0, order=0x0, group=0x0, having=0x0, proc_param=0x0, select_options=2165049856, result=0x6290001c1140, unit=0x62c0001e46d8, select_lex=0x6290000f6598) at /home/wx/mariadb-11.3.0/sql/sql_select.cc:5235
#16 0x00005555572ad18a in handle_select (thd=0x62c0001e0288, lex=0x62c0001e45f8, result=0x6290001c1140, setup_tables_done_option=0) at /home/wx/mariadb-11.3.0/sql/sql_select.cc:628
#17 0x00005555571ce583 in execute_sqlcom_select (thd=0x62c0001e0288, all_tables=0x6290000f6c48) at /home/wx/mariadb-11.3.0/sql/sql_parse.cc:6013
#18 0x00005555571becf6 in mysql_execute_command (thd=0x62c0001e0288, is_called_from_prepared_stmt=false) at /home/wx/mariadb-11.3.0/sql/sql_parse.cc:3912
#19 0x00005555571d95e2 in mysql_parse (thd=0x62c0001e0288, rawbuf=0x6290000f52a8 "WITH t1 AS ( SELECT -4 AS c4 , 352814400749889744 AS c17 ) SELECT t3 . c17 AS c52 FROM t1 JOIN ( SELECT c4 AS c40 FROM t1 ) AS t2 JOIN t1 AS t3 ON DEFAULT ( t2 . c40 ) = t3 . c4 ON t2 . c40 = t3 . c17"..., length=220, parser_state=0x7fffd162c870) at /home/wx/mariadb-11.3.0/sql/sql_parse.cc:7734
#20 0x00005555571b1237 in dispatch_command (command=COM_QUERY, thd=0x62c0001e0288, packet=0x6290000fa289 "WITH t1 AS ( SELECT -4 AS c4 , 352814400749889744 AS c17 ) SELECT t3 . c17 AS c52 FROM t1 JOIN ( SELECT c4 AS c40 FROM t1 ) AS t2 JOIN t1 AS t3 ON DEFAULT ( t2 . c40 ) = t3 . c4 ON t2 . c40 = t3 . c17"..., packet_length=223, blocking=true) at /home/wx/mariadb-11.3.0/sql/sql_parse.cc:1893
#21 0x00005555571adf7c in do_command (thd=0x62c0001e0288, blocking=true) at /home/wx/mariadb-11.3.0/sql/sql_parse.cc:1406
#22 0x000055555768e557 in do_handle_one_connection (connect=0x61100002c948, put_in_cache=true) at /home/wx/mariadb-11.3.0/sql/sql_connect.cc:1445
#23 0x000055555768deb4 in handle_one_connection (arg=0x61100002c808) at /home/wx/mariadb-11.3.0/sql/sql_connect.cc:1347
#24 0x00005555582fa350 in pfs_spawn_thread (arg=0x618000006d08) at /home/wx/mariadb-11.3.0/storage/perfschema/pfs.cc:2201
#25 0x00007ffff7115609 in start_thread () from /lib/x86_64-linux-gnu/libpthread.so.0
#26 0x00007ffff6ce8133 in clone () from /lib/x86_64-linux-gnu/libc.so.6
Attachments
Issue Links
- relates to
-
MDEV-35276 Assertion failure in find_producing_item upon a query from a view
-
- Closed
-
Thanks!
Repeatable on 10.4-11.3
Version: '10.4.32-MariaDB-debug-log'
mysqld: /10.4/src/sql/sql_base.cc:6141: Field* find_field_in_table_ref(THD*, TABLE_LIST*, const char*, size_t, const char*, const char*, const char*, Item**, bool, bool, uint*, bool, TABLE_LIST**): Assertion `name' failed.
231108 11:17:25 [ERROR] mysqld got signal 6 ;
Server version: 10.4.32-MariaDB-debug-log source revision: e5a5573f782723e40c372f38346a60b1ccc644d6
/lib/x86_64-linux-gnu/libc.so.6(+0x33fd6)[0x7fdd6cb98fd6]
sql/sql_base.cc:6142(find_field_in_table_ref(THD*, TABLE_LIST*, char const*, unsigned long, char const*, char const*, char const*, Item**, bool, bool, unsigned int*, bool, TABLE_LIST**))[0x55571307a78e]
sql/sql_base.cc:6508(find_field_in_tables(THD*, Item_ident*, TABLE_LIST*, TABLE_LIST*, Item**, find_item_error_report_type, bool, bool))[0x55571307cb48]
sql/item.cc:5909(Item_field::fix_fields(THD*, Item**))[0x555713a3f7e2]
sql/item.h:966(Item::fix_fields_if_needed(THD*, Item**))[0x555712f5a5e5]
sql/item_func.cc:355(Item_func::fix_fields(THD*, Item**))[0x555713b1a0ce]
sql/sql_select.cc:2103(JOIN::optimize_inner())[0x5557132b7f91]
sql/sql_select.cc:1731(JOIN::optimize())[0x5557132b40cd]
sql/sql_derived.cc:1029(mysql_derived_optimize(THD*, LEX*, TABLE_LIST*))[0x55571312736f]
sql/sql_derived.cc:200(mysql_handle_single_derived(LEX*, TABLE_LIST*, unsigned int))[0x555713121b1a]
sql/sql_select.cc:2221(JOIN::optimize_inner())[0x5557132b9632]
sql/sql_select.cc:1731(JOIN::optimize())[0x5557132b40cd]
sql/sql_select.cc:4832(mysql_select(THD*, TABLE_LIST*, unsigned int, List<Item>&, Item*, unsigned int, st_order*, st_order*, Item*, st_order*, unsigned long long, select_result*, st_select_lex_unit*, st_select_lex*))[0x5557132d50b7]
sql/sql_select.cc:442(handle_select(THD*, LEX*, select_result*, unsigned long))[0x5557132a5b1e]
sql/sql_parse.cc:6475(execute_sqlcom_select(THD*, TABLE_LIST*))[0x555713211886]
sql/sql_parse.cc:3978(mysql_execute_command(THD*))[0x5557131feffd]
sql/sql_parse.cc:8013(mysql_parse(THD*, char*, unsigned int, Parser_state*, bool, bool))[0x55571321adc5]
sql/sql_parse.cc:1860(dispatch_command(enum_server_command, THD*, char*, unsigned int, bool, bool))[0x5557131f1187]
sql/sql_parse.cc:1378(do_command(THD*))[0x5557131edcb2]
sql/sql_connect.cc:1420(do_handle_one_connection(CONNECT*))[0x5557135fd5b5]
sql/sql_connect.cc:1325(handle_one_connection)[0x5557135fce59]
perfschema/pfs.cc:1871(pfs_spawn_thread)[0x55571429947e]
nptl/pthread_create.c:478(start_thread)[0x7fdd6d0b3609]
Query (0x62b0000a1290): WITH t1 AS ( SELECT -4 AS c4 , 352814400749889744 AS c17 ) SELECT t3 . c17 AS c52 FROM t1 JOIN ( SELECT c4 AS c40 FROM t1 ) AS t2 JOIN t1 AS t3 ON DEFAULT ( t2 . c40 ) = t3 . c4 ON t2 . c40 = t3 . c17 WHERE t1 . c4 = -10
mysqld: /10.4/src/sql/sql_base.cc:6143: Field* find_field_in_table_ref(THD*, TABLE_LIST*, const char*, size_t, const char*, const char*, const char*, Item**, bool, bool, uint*, bool, TABLE_LIST**): Assertion `name' failed.
231206 17:28:49 [ERROR] mysqld got signal 6 ;
Server version: 10.4.33-MariaDB-debug-log source revision: d8e6bb00888b1f82c031938f4c8ac5d97f6874c3
sql/sql_base.cc:6144(find_field_in_table_ref(THD*, TABLE_LIST*, char const*, unsigned long, char const*, char const*, char const*, Item**, bool, bool, unsigned int*, bool, TABLE_LIST**))[0x55eb03eb0acc]
sql/sql_base.cc:6510(find_field_in_tables(THD*, Item_ident*, TABLE_LIST*, TABLE_LIST*, Item**, find_item_error_report_type, bool, bool))[0x55eb03eb2e86]
sql/item.cc:5909(Item_field::fix_fields(THD*, Item**))[0x55eb0487e20a]
sql/item.h:967(Item::fix_fields_if_needed(THD*, Item**))[0x55eb03d8fd2d]
sql/item_func.cc:365(Item_func::fix_fields(THD*, Item**))[0x55eb04959072]
sql/sql_select.cc:2103(JOIN::optimize_inner())[0x55eb040f556b]
sql/sql_select.cc:1731(JOIN::optimize())[0x55eb040f16a7]
sql/sql_derived.cc:1029(mysql_derived_optimize(THD*, LEX*, TABLE_LIST*))[0x55eb03f5d8ef]
sql/sql_derived.cc:200(mysql_handle_single_derived(LEX*, TABLE_LIST*, unsigned int))[0x55eb03f5809a]
sql/sql_select.cc:2221(JOIN::optimize_inner())[0x55eb040f6c0c]
sql/sql_select.cc:1731(JOIN::optimize())[0x55eb040f16a7]
sql/sql_select.cc:4832(mysql_select(THD*, TABLE_LIST*, unsigned int, List<Item>&, Item*, unsigned int, st_order*, st_order*, Item*, st_order*, unsigned long long, select_result*, st_select_lex_unit*, st_select_lex*))[0x55eb04112691]
sql/sql_select.cc:442(handle_select(THD*, LEX*, select_result*, unsigned long))[0x55eb040e30f8]
sql/sql_parse.cc:6523(execute_sqlcom_select(THD*, TABLE_LIST*))[0x55eb0404a0fd]
sql/sql_parse.cc:3980(mysql_execute_command(THD*))[0x55eb0403771d]
sql/sql_parse.cc:8062(mysql_parse(THD*, char*, unsigned int, Parser_state*, bool, bool))[0x55eb04053679]
sql/sql_parse.cc:1860(dispatch_command(enum_server_command, THD*, char*, unsigned int, bool, bool))[0x55eb04029825]
sql/sql_parse.cc:1378(do_command(THD*))[0x55eb04026350]
sql/sql_connect.cc:1419(do_handle_one_connection(CONNECT*))[0x55eb0443b420]
sql/sql_connect.cc:1324(handle_one_connection)[0x55eb0443acc4]
perfschema/pfs.cc:1871(pfs_spawn_thread)[0x55eb050d92d4]
Query (0x62b0000a1290): WITH t1 AS (SELECT 5 AS a) SELECT t11.a FROM t1 JOIN t1 AS t11 ON DEFAULT (t1.a) = t11.a
non-debug:
231206 17:26:21 [ERROR] mysqld got signal 11 ;
Server version: 10.6.16-MariaDB source revision: b83c379420a8846ae4b28768d3c81fa354cca056
sql/signal_handler.cc:238(handle_fatal_signal)[0x562d7d81ed67]
sigaction.c:0(__restore_rt)[0x7f4671f00420]
strings/ctype-utf8.c:5110(my_strcasecmp_utf8mb3)[0x562d7dea3df1]
sql/item.cc:3507(Item_field::eq(Item const*, bool) const)[0x562d7d835230]
sql/sql_base.cc:6831(find_item_in_list(Item*, List<Item>&, unsigned int*, find_item_error_report_type, enum_resolution_type*, unsigned int))[0x562d7d588634]
sql/item.cc:6041(Item_field::fix_fields(THD*, Item**))[0x562d7d84afa3]
sql/item_func.cc:350(Item_func::fix_fields(THD*, Item**))[0x562d7d88e5c9]
sql/sql_select.cc:2229(JOIN::optimize_inner())[0x562d7d64f915]
sql/sql_select.cc:1872(JOIN::optimize())[0x562d7d652a42]
sql/sql_derived.cc:1045(mysql_derived_optimize(THD*, LEX*, TABLE_LIST*))[0x562d7d5ae627]
sql/sql_derived.cc:200(mysql_handle_single_derived(LEX*, TABLE_LIST*, unsigned int))[0x562d7d5adedd]
sql/sql_select.cc:2353(JOIN::optimize_inner())[0x562d7d64ff84]
sql/sql_select.cc:1872(JOIN::optimize())[0x562d7d652a42]
sql/sql_select.cc:5100(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*))[0x562d7d652b18]
sql/sql_select.cc:573(handle_select(THD*, LEX*, select_result*, unsigned long))[0x562d7d653424]
sql/sql_parse.cc:6286(execute_sqlcom_select(THD*, TABLE_LIST*))[0x562d7d4a2e41]
sql/sql_parse.cc:3961(mysql_execute_command(THD*, bool))[0x562d7d5f1373]
sql/sql_parse.cc:8052(mysql_parse(THD*, char*, unsigned int, Parser_state*))[0x562d7d5f371b]
sql/sql_parse.cc:1957(dispatch_command(enum_server_command, THD*, char*, unsigned int, bool))[0x562d7d5f5b50]
sql/sql_parse.cc:1411(do_command(THD*, bool))[0x562d7d5f7073]
sql/sql_connect.cc:1416(do_handle_one_connection(CONNECT*, bool))[0x562d7d6f4f87]
sql/sql_connect.cc:1324(handle_one_connection)[0x562d7d6f5224]
perfschema/pfs.cc:2204(pfs_spawn_thread)[0x562d7da97c8c]
nptl/pthread_create.c:478(start_thread)[0x7f4671ef4609]
Query (0x7f46200131a0): WITH t1 AS (SELECT 5 AS a) SELECT t11.a FROM t1 JOIN t1 AS t11 ON DEFAULT (t1.a) = t11.a