Bug #112983 | Assertion Failure in /mysql-8.0.34/sql/sql_base.cc:7731 | ||
---|---|---|---|
Submitted: | 7 Nov 2023 8:11 | Modified: | 7 Nov 2023 12:07 |
Reporter: | xin wen | Email Updates: | |
Status: | Verified | Impact on me: | |
Category: | MySQL Server: DML | Severity: | S6 (Debug Builds) |
Version: | 8.0.34, 8.0.35 | OS: | Ubuntu (20.04) |
Assigned to: | CPU Architecture: | Any |
[7 Nov 2023 8:11]
xin wen
[7 Nov 2023 12:07]
MySQL Verification Team
Hello xin wen, Thank you for the report and test case. Observed that 8.0.35 debug build is affected. regards, Umesh
[7 Nov 2023 12:07]
MySQL Verification Team
-- release - not affected ./mtr --nocheck-testcases bug112983 Logging: ./mtr --nocheck-testcases bug112983 MySQL Version 8.0.35 Checking supported features Using 'all' suites Collecting tests Checking leftover processes Removing old var directory Creating var directory '/export/home/tmp/ushastry/mysql-8.0.35/mysql-test/var' Installing system database Using parallel: 1 ============================================================================== TEST NAME RESULT TIME (ms) COMMENT ------------------------------------------------------------------------------ CREATE TABLE x ( x INT ) ; INSERT INTO x ( x ) VALUES ( 1 ) ; UPDATE x SET x = 1 WHERE FALSE ; INSERT INTO x ( x ) VALUES ( 1 ) , ( 1 ) ; WITH x ( x ) AS ( SELECT ( 1.000000 + 1 = x % 1 OR - 1 >= x IS NOT NULL ) AND x % 1 = 1 AND x IS NOT NULL FROM x ) SELECT x , x FROM x WHERE x BETWEEN ( WITH x AS ( WITH x AS ( SELECT 1 ORDER BY CASE WHEN x >= 1 THEN ( - x ) ELSE x IN ( SELECT x WHERE x IN ( SELECT 1 WHERE x = x OR ( x = 1 AND x = 1 ) ) AND x NOT IN ( ( SELECT x ( x ( x ) ) FROM x ) ) OR ( x = 1 AND x = 1 ) ) END , x + x ) SELECT 1 ) SELECT x AS x FROM x AS x GROUP BY x HAVING ( NOT ( 'x' = 'x' AND ( ( SELECT 1 AS x WHERE ( WITH x AS ( SELECT * FROM ( SELECT x FROM x UNION SELECT x FROM x ) AS x WHERE x IN ( 1 , ( 'x' , TRUE ) NOT IN ( SELECT x , x FROM x ) ) ) SELECT 1 IN ( SELECT x FROM x AS x GROUP BY ( SELECT 1 GROUP BY x HAVING x < 'x' WINDOW x AS ( PARTITION BY ( SELECT x WHERE TRUE = x ORDER BY x IN ( 1 , ( SELECT x FROM x ORDER BY ( ( 1.000000 ) ^ 1.000000 AND ( SELECT 1 FROM ( SELECT x FROM x UNION SELECT x FROM x ) AS x WHERE 1 IN ( SELECT 1 UNION SELECT 1 ) ) ) DESC LIMIT 1 OFFSET 1 ) , 1 , 1 ) DESC ) ORDER BY x DESC , x ASC ) ) ) FROM x WHERE ( x = 1 ) OR ( x = 1 ) OR ( x BETWEEN 1 AND 1 ) OR ( x = 1 ) ) ) = ( SELECT 1 AS x WHERE ( SELECT x AS x WHERE 1 > x GROUP BY x , 1.000000 HAVING x > 1 OR ( ( x < 1 OR x > 1 ) AND x % 1 = 1 AND x IS NOT NULL ) OR ( x = 1 AND x = 1 ) AND x = x ) ) OR x = x ) ) ) ) AND 1 ; x x Warnings: Warning 1292 Truncated incorrect DOUBLE value: 'x' [ 50%] main.bug112983 [ pass ] 96 [100%] shutdown_report [ pass ] -- debug build - affected ./mtr --nocheck-testcases bug112983 --debug-server Logging: ./mtr --nocheck-testcases bug112983 --debug-server MySQL Version 8.0.35 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/mysql-8.0.35/mysql-test/var' Installing system database Using parallel: 1 ============================================================================== TEST NAME RESULT TIME (ms) COMMENT ------------------------------------------------------------------------------ CREATE TABLE x ( x INT ) ; INSERT INTO x ( x ) VALUES ( 1 ) ; UPDATE x SET x = 1 WHERE FALSE ; INSERT INTO x ( x ) VALUES ( 1 ) , ( 1 ) ; WITH x ( x ) AS ( SELECT ( 1.000000 + 1 = x % 1 OR - 1 >= x IS NOT NULL ) AND x % 1 = 1 AND x IS NOT NULL FROM x ) SELECT x , x FROM x WHERE x BETWEEN ( WITH x AS ( WITH x AS ( SELECT 1 ORDER BY CASE WHEN x >= 1 THEN ( - x ) ELSE x IN ( SELECT x WHERE x IN ( SELECT 1 WHERE x = x OR ( x = 1 AND x = 1 ) ) AND x NOT IN ( ( SELECT x ( x ( x ) ) FROM x ) ) OR ( x = 1 AND x = 1 ) ) END , x + x ) SELECT 1 ) SELECT x AS x FROM x AS x GROUP BY x HAVING ( NOT ( 'x' = 'x' AND ( ( SELECT 1 AS x WHERE ( WITH x AS ( SELECT * FROM ( SELECT x FROM x UNION SELECT x FROM x ) AS x WHERE x IN ( 1 , ( 'x' , TRUE ) NOT IN ( SELECT x , x FROM x ) ) ) SELECT 1 IN ( SELECT x FROM x AS x GROUP BY ( SELECT 1 GROUP BY x HAVING x < 'x' WINDOW x AS ( PARTITION BY ( SELECT x WHERE TRUE = x ORDER BY x IN ( 1 , ( SELECT x FROM x ORDER BY ( ( 1.000000 ) ^ 1.000000 AND ( SELECT 1 FROM ( SELECT x FROM x UNION SELECT x FROM x ) AS x WHERE 1 IN ( SELECT 1 UNION SELECT 1 ) ) ) DESC LIMIT 1 OFFSET 1 ) , 1 , 1 ) DESC ) ORDER BY x DESC , x ASC ) ) ) FROM x WHERE ( x = 1 ) OR ( x = 1 ) OR ( x BETWEEN 1 AND 1 ) OR ( x = 1 ) ) ) = ( SELECT 1 AS x WHERE ( SELECT x AS x WHERE 1 > x GROUP BY x , 1.000000 HAVING x > 1 OR ( ( x < 1 OR x > 1 ) AND x % 1 = 1 AND x IS NOT NULL ) OR ( x = 1 AND x = 1 ) AND x = x ) ) OR x = x ) ) ) ) AND 1 ; [ 50%] main.bug112983 [ fail ] Test ended at 2023-11-07 13:06:47 CURRENT_TEST: main.bug112983 mysqltest: At line 6: Query 'WITH x ( x ) AS ( SELECT ( 1.000000 + 1 = x % 1 OR - 1 >= x IS NOT NULL ) AND x % 1 = 1 AND x IS NOT NULL FROM x ) SELECT x , x FROM x WHERE x BETWEEN ( WITH x AS ( WITH x AS ( SELECT 1 ORDER BY CASE WHEN x >= 1 THEN ( - x ) ELSE x IN ( SELECT x WHERE x IN ( SELECT 1 WHERE x = x OR ( x = 1 AND x = 1 ) ) AND x NOT IN ( ( SELECT x ( x ( x ) ) FROM x ) ) OR ( x = 1 AND x = 1 ) ) END , x + x ) SELECT 1 ) SELECT x AS x FROM x AS x GROUP BY x HAVING ( NOT ( 'x' = 'x' AND ( ( SELECT 1 AS x WHERE ( WITH x AS ( SELECT * FROM ( SELECT x FROM x UNION SELECT x FROM x ) AS x WHERE x IN ( 1 , ( 'x' , TRUE ) NOT IN ( SELECT x , x FROM x ) ) ) SELECT 1 IN ( SELECT x FROM x AS x GROUP BY ( SELECT 1 GROUP BY x HAVING x < 'x' WINDOW x AS ( PARTITION BY ( SELECT x WHERE TRUE = x ORDER BY x IN ( 1 , ( SELECT x FROM x ORDER BY ( ( 1.000000 ) ^ 1.000000 AND ( SELECT 1 FROM ( SELECT x FROM x UNION SELECT x FROM x ) AS x WHERE 1 IN ( SELECT 1 UNION SELECT 1 ) ) ) DESC LIMIT 1 OFFSET 1 ) , 1 , 1 ) DESC ) ORDER BY x DESC , x ASC ) ) ) FROM x WHERE ( x = 1 ) OR ( x = 1 ) OR ( x BETWEEN 1 AND 1 ) OR ( x = 1 ) ) ) = ( SELECT 1 AS x WHERE ( SELECT x AS x WHERE 1 > x GROUP BY x , 1.000000 HAVING x > 1 OR ( ( x < 1 OR x > 1 ) AND x % 1 = 1 AND x IS NOT NULL ) OR ( x = 1 AND x = 1 ) AND x = x ) ) OR x = x ) ) ) ) AND 1 ' failed. ERROR 2013 (HY000): Lost connection to MySQL server during query