Bug #111379 | Assertion `context->query_block == thd->lex->current_query_block()' failed | ||
---|---|---|---|
Submitted: | 13 Jun 2023 2:48 | Modified: | 4 Jul 2023 0:18 |
Reporter: | Yu Liang | Email Updates: | |
Status: | Verified | Impact on me: | |
Category: | MySQL Server: Optimizer | Severity: | S6 (Debug Builds) |
Version: | 8.0.33 | OS: | Ubuntu (20.04 LTS) |
Assigned to: | CPU Architecture: | x86 (Intel(R) Core(TM) i7-10700 CPU) |
[13 Jun 2023 2:48]
Yu Liang
[13 Jun 2023 8:07]
MySQL Verification Team
Hello Yu Liang, Thank you for the report and test case. Observed that 8.0.33 only debug build is affected. regards, Umesh
[13 Jun 2023 8:08]
MySQL Verification Team
-- release build ./mtr bug111379 --nocheck-testcases Logging: ./mtr bug111379 --nocheck-testcases MySQL Version 8.0.33 Checking supported features Using 'all' suites Collecting tests Checking leftover processes Removing old var directory Creating var directory '/export/home/tmp/ushastry/binaries/mysql-8.0.33/mysql-test/var' Installing system database Using parallel: 1 ============================================================================== TEST NAME RESULT TIME (ms) COMMENT ------------------------------------------------------------------------------ drop database if exists test123; Warnings: Note 1008 Can't drop database 'test123'; database doesn't exist create database test123; use test123; create table v0(c1 INT); SELECT * FROM v0 GROUP BY c1 HAVING c1 MEMBER OF ( EXISTS ( ( TABLE v0 LOCK IN SHARE MODE ) ORDER BY c1) ) ; c1 [ 50%] main.bug111379 [ pass ] 83 [100%] shutdown_report [ pass ] -- debug build - affected ./mtr bug111379 --nocheck-testcases --debug-server Logging: ./mtr bug111379 --nocheck-testcases --debug-server MySQL Version 8.0.33 Checking supported features - Binaries are debug compiled Using 'all' suites Collecting tests Checking leftover processes Removing old var directory Creating var directory '/export/home/tmp/ushastry/binaries/mysql-8.0.33/mysql-test/var' Installing system database Using parallel: 1 ============================================================================== TEST NAME RESULT TIME (ms) COMMENT ------------------------------------------------------------------------------ drop database if exists test123; Warnings: Note 1008 Can't drop database 'test123'; database doesn't exist create database test123; use test123; create table v0(c1 INT); SELECT * FROM v0 GROUP BY c1 HAVING c1 MEMBER OF ( EXISTS ( ( TABLE v0 LOCK IN SHARE MODE ) ORDER BY c1) ) ; [ 50%] main.bug111379 [ fail ] Test ended at 2023-06-13 10:06:28 CURRENT_TEST: main.bug111379 mysqltest: At line 5: Query 'SELECT * FROM v0 GROUP BY c1 HAVING c1 MEMBER OF ( EXISTS ( ( TABLE v0 LOCK IN SHARE MODE ) ORDER BY c1) ) ' failed. ERROR 2013 (HY000): Lost connection to MySQL server during query -bt #0 0x00007f16457b8aa1 in pthread_kill () from /lib64/libpthread.so.0 #1 0x0000000004005426 in my_write_core(int) () #2 0x00000000032b0166 in handle_fatal_signal () #3 <signal handler called> #4 0x00007f1643c79387 in raise () from /lib64/libc.so.6 #5 0x00007f1643c7aa78 in abort () from /lib64/libc.so.6 #6 0x00007f1643c721a6 in __assert_fail_base () from /lib64/libc.so.6 #7 0x00007f1643c72252 in __assert_fail () from /lib64/libc.so.6 #8 0x0000000003403b59 in Item_ref::fix_fields(THD*, Item**) () #9 0x00000000034051c9 in Item_field::fix_outer_field(THD*, Field**, Item**) () #10 0x0000000003405769 in Item_field::fix_fields(THD*, Item**) () #11 0x000000000317e357 in find_order_in_list(THD*, Bounds_checked_array<Item*>, Table_ref*, ORDER*, mem_root_deque<Item*>*, bool, bool) () #12 0x000000000317e5ab in setup_order(THD*, Bounds_checked_array<Item*>, Table_ref*, mem_root_deque<Item*>*, ORDER*) () #13 0x00000000031884b7 in Query_block::prepare(THD*, mem_root_deque<Item*>*) () #14 0x0000000003209cd7 in Query_expression::prepare(THD*, Query_result*, mem_root_deque<Item*>*, unsigned long long, unsigned long long) () #15 0x00000000034a374a in SubqueryWithResult::prepare(THD*) () #16 0x00000000034a9cb6 in Item_subselect::fix_fields(THD*, Item**) () #17 0x00000000034583d5 in Item_func::fix_func_arg(THD*, Item**) () #18 0x00000000034585b8 in Item_func::fix_fields(THD*, Item**) () #19 0x0000000003188327 in Query_block::prepare(THD*, mem_root_deque<Item*>*) () #20 0x0000000003194935 in Sql_cmd_select::prepare_inner(THD*) () #21 0x000000000319e16d in Sql_cmd_dml::prepare(THD*) () #22 0x000000000319e48e in Sql_cmd_dml::execute(THD*) () #23 0x000000000313f789 in mysql_execute_command(THD*, bool) () #24 0x0000000003140bc8 in dispatch_sql_command(THD*, Parser_state*) () #25 0x00000000031421fb in dispatch_command(THD*, COM_DATA const*, enum_server_command) () #26 0x0000000003143e97 in do_command(THD*) () #27 0x00000000032a219e in handle_connection () #28 0x00000000047b1601 in pfs_spawn_thread () #29 0x00007f16457b3ea5 in start_thread () from /lib64/libpthread.so.0 #30 0x00007f1643d41b2d in clone () from /lib64/libc.so.6
[4 Jul 2023 0:18]
Yu Liang
After running bisecting, the bug seems to be introduced in commit: `8e7252ecf14290edc3b486245d34d4e3ea84126a`. The buggy introduced commit contains no commit messages, so I am not sure what has been changed under the hood. At the same time, bug #111305 and bug #111307 shares the same bug introduced commit in the bisecting process. We are not sure whether these three bugs are due to the same root cause.