Bug #33509 | Server crashes with number of recursive subqueries=61 | ||
---|---|---|---|
Submitted: | 25 Dec 2007 18:27 | Modified: | 20 Nov 2010 23:32 |
Reporter: | Alexey Stroganov | Email Updates: | |
Status: | Closed | Impact on me: | |
Category: | MySQL Server: Optimizer | Severity: | S2 (Serious) |
Version: | 6.0.4-alpha | OS: | Linux (x86_64) |
Assigned to: | Sergey Petrunya | CPU Architecture: | Any |
Tags: | regression |
[25 Dec 2007 18:27]
Alexey Stroganov
[25 Dec 2007 18:30]
Alexey Stroganov
Test case for issue
Attachment: bug33509.test (application/octet-stream, text), 2.40 KiB.
[26 Dec 2007 7:06]
Valeriy Kravchuk
Thank you for a problem report. Sorry, but I can not repeat the behaviour described neither in older 6.0.3 (MySQL binaries) nor in latest 6.0.5 built from BK: openxs@linux:~/dbs/6.0> bin/mysql -uroot test Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 1 Server version: 6.0.5-alpha Source distribution Type 'help;' or '\h' for help. Type '\c' to clear the buffer. mysql> create table crash_me (a int not null); roQuery OK, 0 rows affected (0.01 sec) mysql> mysql> select a from crash_me where a in ( -> select a from crash_me where a in ( -> select a from crash_me where a in ( -> select a from crash_me where a in ( -> select a from crash_me where a in ( -> select a from crash_me where a in ( -> select a from crash_me where a in ( -> select a from crash_me where a in ( -> select a from crash_me where a in ( -> select a from crash_me where a in ( -> select a from crash_me where a in ( -> select a from crash_me where a in ( -> select a from crash_me where a in ( -> select a from crash_me where a in ( -> select a from crash_me where a in ( -> select a from crash_me where a in ( -> select a from crash_me where a in ( -> select a from crash_me where a in ( -> select a from crash_me where a in ( -> select a from crash_me where a in ( -> select a from crash_me where a in ( -> select a from crash_me where a in ( -> select a from crash_me where a in ( -> select a from crash_me where a in ( -> select a from crash_me where a in ( -> select a from crash_me where a in ( -> select a from crash_me where a in ( -> select a from crash_me where a in ( -> select a from crash_me where a in ( -> select a from crash_me where a in ( -> select a from crash_me where a in ( -> select a from crash_me where a in ( -> select a from crash_me where a in ( -> select a from crash_me where a in ( -> select a from crash_me where a in ( -> select a from crash_me where a in ( -> select a from crash_me where a in ( -> select a from crash_me where a in ( -> select a from crash_me where a in ( -> select a from crash_me where a in ( -> select a from crash_me where a in ( -> select a from crash_me where a in ( -> select a from crash_me where a in ( -> select a from crash_me where a in ( -> select a from crash_me where a in ( -> select a from crash_me where a in ( -> select a from crash_me where a in ( -> select a from crash_me where a in ( -> select a from crash_me where a in ( -> select a from crash_me where a in ( -> select a from crash_me where a in ( -> select a from crash_me where a in ( -> select a from crash_me where a in ( -> select a from crash_me where a in ( -> select a from crash_me where a in ( -> select a from crash_me where a in ( -> select a from crash_me where a in ( -> select a from crash_me where a in ( -> select a from crash_me where a in ( -> select a from crash_me where a in ( -> select a from crash_me where a in ( -> select a from crash_me where a in ( select a from crash_me) -> ))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))); ERROR 1473 (HY000): Too high level of nesting for select Do you use -debug build?
[8 Jan 2008 18:40]
Omer Barnir
triage: not setting priority - 6.0
[3 May 2008 2:17]
Bugs System
A patch for this bug has been committed. After review, it may be pushed to the relevant source trees for release in the next version. You can access the patch from: http://lists.mysql.com/commits/46321 ChangeSet@1.2635, 2008-05-03 06:16:48+04:00, sergefp@mysql.com +3 -0 BUG#33509: Server crashes with number of recursive subqueries=61 - Fix the code that makes JOIN::flatten_subqueries() not to flatten them if the total number of tables will exceed MAX_TABLES - When replacing the subquery predicate, replace the select_lex->where if it is a complete WHERE clause.
[28 May 2008 10:02]
Bugs System
Pushed into 6.0.6-alpha
[30 May 2008 19:06]
Paul DuBois
Noted in 6.0.6 changelog. Use of 61 nested subqueries caused a server crash.
[16 Aug 2010 6:38]
Bugs System
Pushed into mysql-next-mr (revid:alik@sun.com-20100816062819-bluwgdq8q4xysmlg) (version source revid:alik@sun.com-20100816062612-enatdwnv809iw3s9) (pib:20)
[23 Aug 2010 8:46]
Catherine Woo
•For queries with a sufficient number of subqueries in the FROM clause of this form: SELECT * FROM (SELECT 1) AS t1, (SELECT 2) AS t2, (SELECT 3) AS t3, ... The query failed with a Too high level of nesting for select error, as though the query had this form: SELECT * FROM (SELECT 1 FROM (SELECT 2 FROM (SELECT 3 FROM ... (Bug#41156)
[13 Nov 2010 16:09]
Bugs System
Pushed into mysql-trunk 5.6.99-m5 (revid:alexander.nozdrin@oracle.com-20101113155825-czmva9kg4n31anmu) (version source revid:vasil.dimov@oracle.com-20100629074804-359l9m9gniauxr94) (merge vers: 5.6.99-m4) (pib:21)
[20 Nov 2010 23:32]
Paul DuBois
Noted in 5.6.1 changelog.
[23 Nov 2010 2:24]
Paul DuBois
Correction: No 5.6.1 changelog entry. Bug does not appear in any released 5.6.x version.