Bug #112487 Assertion Failure in /mysql-8.0.34/sql/sql_optimizer.cc:343
Submitted: 26 Sep 2023 11:01 Modified: 26 Sep 2023 11:40
Reporter: xin wen Email Updates:
Status: Verified Impact on me:
None 
Category:MySQL Server: DML Severity:S6 (Debug Builds)
Version:8.0.34 OS:Ubuntu (20.04)
Assigned to: CPU Architecture:Any

[26 Sep 2023 11:01] xin wen
Description:
Run these queries:

CREATE TABLE t0 ( c7 VARCHAR ( 150 ) DEFAULT ( 8032510497807753137 ) NOT NULL ) ;
INSERT INTO t0 VALUES ( 91 ) , ( 73 ) ;
CREATE INDEX i0 ON t0 ( c7 ) ;
INSERT INTO t0 VALUES ( 103 ) , ( 83 ) ;
SELECT -32.344170 AS c7 FROM ( SELECT t0 . c7 AS c34 FROM t0 AS t1 JOIN t0 ON IFNULL ( t0 . c7 , 61 ) % REPEAT ( t1 . c7 , EXISTS ( ( SELECT '+LQl8{r\\;*X[z5' = ALL ( SELECT t0 . c7 AS c1 FROM ( SELECT LPAD ( c7 , 'UJ]mP%aG}L-^WZ+77l@92N"y<``7RC.' , 'c=0o?Cnpa-muYsA?,1xz' ) AS c40 FROM t0 ) AS t2 JOIN t0 ON t2 . c40 = t2 . c40 UNION SELECT c7 + 75 AS c60 FROM t0 WHERE c7 < -4620589940754948653 ) IS NULL AS c47 , -119 AS c54 ) ) ) BETWEEN -13 AND 21 IS FALSE ) AS t3 JOIN t0 ON RAND ( ) ^ 118.669896 & RAND ( -117 ) ^ RAND ( ) GROUP BY c34 , c7 , c7 WITH ROLLUP HAVING BIT_OR( c34 ) WINDOW w0 AS ( PARTITION BY TRUE >> RAND ( ) >> ATAN ( c34 , DEGREES ( t0 . c7 ) REGEXP CASE 1095626554261018837 WHEN 26 THEN -114 ELSE 75 END ) ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING ) ;

Will trigger assertion failure:
/home/wx/mysql-8.0.34/sql/sql_optimizer.cc:343: bool JOIN::optimize(bool): Assertion `query_block->leaf_table_count == 0 || thd->lex->is_query_tables_locked() || query_block == set_operand_block' failed.

How to repeat:
Run the queries above.
[26 Sep 2023 11:02] xin wen
GDB info

Attachment: GDB_info.txt (text/plain), 7.27 KiB.

[26 Sep 2023 11:40] MySQL Verification Team
Hello xin wen,

Thank you for the report and test case.
Observed that 8.0.34 debug build is affected.

regards,
Umesh