Description:
Run these queries:
CREATE TABLE t0 ( c62 DECIMAL ( 2 ) , c44 INT ) ;
INSERT INTO t0 VALUES ( -91 , -117 ) , ( 76 , 70 ) ;
ALTER TABLE t0 ADD COLUMN c58 INT AFTER c44 ;
INSERT INTO t0 VALUES ( DEFAULT , DEFAULT , DEFAULT ) , ( DEFAULT , DEFAULT , DEFAULT ) ;
SELECT c58 + 58 AS c33 FROM t0 GROUP BY c62 , c58 , c44 HAVING EXISTS ( ( SELECT LAST_VALUE ( c49 ) OVER ( ) IS FALSE AS c40 FROM ( SELECT c58 AS c49 FROM t0 ) AS t1 JOIN ( SELECT FORMAT ( -51 , 93 ) = ALL ( SELECT c58 AS c59 FROM t0 ) AS c61 FROM t0 ) AS t2 ON c58 = c62 ) ORDER BY c44 LIMIT 66 ) IS TRUE WINDOW w0 AS ( PARTITION BY CASE -2835350202041571335 WHEN DEFAULT ( t0 . c62 ) THEN 2561418752270810699 ELSE - ELT ( 77 , 'erR\'~Dx%;45rJ{m=j6CS(#w_{m/\\L4\'?,>o*^' , 'b2AZNh0K`\'k+' ) % ( SELECT CONCAT ( c44 , 'h>g^T`NV|-x.EXPd vJaNx`ggIgg\'Wf$>p\\s*' ) AS c39 FROM t0 LIMIT 1 ) END NOT IN ( BIT_OR( -20 ) ) ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING ) ;
Will trigger assertion failure:
mysqld: /home/wx/mysql-8.0.34/sql/item.cc:8044: virtual bool Item_ref::fix_fields(THD*, Item**): Assertion `context->query_block == thd->lex->current_query_block()' failed.
GDB info:
#0 __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:50
#1 0x00007ffff6af2859 in __GI_abort () at abort.c:79
#2 0x00007ffff6af2729 in __assert_fail_base (fmt=0x7ffff6c88588 "%s%s%s:%u: %s%sAssertion `%s' failed.\n%n", assertion=0x55555df68640 "context->query_block == thd->lex->current_query_block()", file=0x55555df5d2a0 "/home/wx/mysql-8.0.34/sql/item.cc", line=8044, function=<optimized out>) at assert.c:92
#3 0x00007ffff6b03fd6 in __GI___assert_fail (assertion=assertion@entry=0x55555df68640 "context->query_block == thd->lex->current_query_block()", file=file@entry=0x55555df5d2a0 "/home/wx/mysql-8.0.34/sql/item.cc", line=line@entry=8044, function=function@entry=0x55555df685e0 "virtual bool Item_ref::fix_fields(THD*, Item**)") at assert.c:101
#4 0x0000555559c6c039 in Item_ref::fix_fields (this=0x6120002ff8f0, thd=<optimized out>, reference=<optimized out>) at /home/wx/mysql-8.0.34/sql/item.cc:8045
#5 0x0000555559c7007f in Item_field::fix_outer_field (this=this@entry=0x613000d97230, thd=thd@entry=0x6270002bf900, from_field=from_field@entry=0x7fffc706a920, reference=reference@entry=0x60d000aa8b68) at /home/wx/mysql-8.0.34/sql/item.cc:5545
#6 0x0000555559c71405 in Item_field::fix_fields (this=0x613000d97230, thd=0x6270002bf900, reference=<optimized out>) at /home/wx/mysql-8.0.34/sql/item.cc:5797
#7 0x000055555956d690 in find_order_in_list (thd=thd@entry=0x6270002bf900, ref_item_array=..., tables=tables@entry=0x61b000674eb0, order=order@entry=0x60d000aa8b60, fields=fields@entry=0x6190005357f0, is_group_field=<optimized out>, is_window_order=<optimized out>) at /home/wx/mysql-8.0.34/sql/sql_resolver.cc:4434
#8 0x000055555956deb7 in setup_order (thd=thd@entry=0x6270002bf900, ref_item_array=..., tables=<optimized out>, fields=fields@entry=0x6190005357f0, order=order@entry=0x60d000aa8b60) at /home/wx/mysql-8.0.34/sql/sql_resolver.cc:4533
#9 0x000055555958d830 in Query_block::prepare (this=this@entry=0x6190005357b0, thd=thd@entry=0x6270002bf900, insert_field_list=insert_field_list@entry=0x0) at /home/wx/mysql-8.0.34/sql/sql_resolver.cc:364
#10 0x000055555970ff37 in Query_expression::prepare (this=this@entry=0x6120002fc470, thd=thd@entry=0x6270002bf900, sel_result=<optimized out>, insert_field_list=insert_field_list@entry=0x0, added_options=added_options@entry=268435456, removed_options=removed_options@entry=0) at /home/wx/mysql-8.0.34/sql/sql_union.cc:753
#11 0x0000555559e1f1d8 in SubqueryWithResult::prepare (this=0x6080017595d0, thd=thd@entry=0x6270002bf900) at /home/wx/mysql-8.0.34/sql/item_subselect.cc:2971
#12 0x0000555559e31605 in Item_subselect::fix_fields (this=0x6120002fcd70, thd=0x6270002bf900, ref=<optimized out>) at /home/wx/mysql-8.0.34/sql/item_subselect.cc:547
#13 0x000055555958d42f in Query_block::prepare (this=this@entry=0x6190005316b0, thd=thd@entry=0x6270002bf900, insert_field_list=insert_field_list@entry=0x0) at /home/wx/mysql-8.0.34/sql/sql_resolver.cc:322
#14 0x00005555595b0c63 in Sql_cmd_select::prepare_inner (this=0x60b000156460, thd=0x6270002bf900) at /home/wx/mysql-8.0.34/sql/sql_select.cc:650
#15 0x00005555595cd20b in Sql_cmd_dml::prepare (this=0x60b000156460, thd=0x6270002bf900) at /home/wx/mysql-8.0.34/sql/sql_select.cc:566
#16 0x00005555595cda8d in Sql_cmd_dml::execute (this=0x60b000156460, thd=0x6270002bf900) at /home/wx/mysql-8.0.34/sql/sql_select.cc:718
#17 0x00005555594bd568 in mysql_execute_command (thd=thd@entry=0x6270002bf900, first_level=first_level@entry=true) at /home/wx/mysql-8.0.34/sql/sql_parse.cc:4719
#18 0x00005555594c0bfe in dispatch_sql_command (thd=0x6270002bf900, parser_state=parser_state@entry=0x7fffc706ec00) at /home/wx/mysql-8.0.34/sql/sql_parse.cc:5368
#19 0x00005555594c38e2 in dispatch_command (thd=thd@entry=0x6270002bf900, com_data=com_data@entry=0x7fffc7070200, command=<optimized out>) at /home/wx/mysql-8.0.34/sql/sql_parse.cc:2054
#20 0x00005555594c7392 in do_command (thd=thd@entry=0x6270002bf900) at /home/wx/mysql-8.0.34/sql/sql_parse.cc:1439
#21 0x000055555989b7be in handle_connection (arg=arg@entry=0x603000166720) at /home/wx/mysql-8.0.34/sql/conn_handler/connection_handler_per_thread.cc:302
#22 0x000055555cc724e9 in pfs_spawn_thread (arg=0x614000140a60) at /home/wx/mysql-8.0.34/storage/perfschema/pfs.cc:3042
#23 0x00007ffff7568609 in start_thread (arg=<optimized out>) at pthread_create.c:477
#24 0x00007ffff6bef133 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95
How to repeat:
Run the queries above.