Bug #48073 | Subquery on char columns from view crashes Mysql | ||
---|---|---|---|
Submitted: | 15 Oct 2009 10:14 | Modified: | 22 Nov 2010 0:34 |
Reporter: | Harald Groven | Email Updates: | |
Status: | Closed | Impact on me: | |
Category: | MySQL Server: Optimizer | Severity: | S2 (Serious) |
Version: | 6.0.11, 6.0.14 | OS: | MacOS |
Assigned to: | Tor Didriksen | CPU Architecture: | Any |
Tags: | optimizer_switch, semijoin, subquery |
[15 Oct 2009 10:14]
Harald Groven
[15 Oct 2009 10:43]
Valeriy Kravchuk
Not repeatable with latest 5.1.41 from bzr on Linux.
[15 Oct 2009 16:56]
Valeriy Kravchuk
Verified just as described with recent mysql-6.0-codebase (6.0.14) from bzr: 77-52-242-160:6.0-codebase openxs$ bin/mysql -uroot test <sakila-db/sakila-schema.sql 77-52-242-160:6.0-codebase openxs$ bin/mysql -uroot test <sakila-db/sakila-data.sql 77-52-242-160:6.0-codebase openxs$ bin/mysql -uroot sakilaReading table information for completion of table and column names You can turn off this feature to get a quicker startup with -A Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 4 Server version: 6.0.14-alpha-debug Source distribution Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. mysql> CREATE OR REPLACE VIEW sakila.v_countriesstartingwith_a AS -> SELECT country_id, country -> FROM sakila.country -> WHERE LEFT(country,1) = "A" -> ; Query OK, 0 rows affected (0.06 sec) mysql> SELECT -> city_id, -> city, -> country_id -> FROM sakila.city -> WHERE city IN ( -> SELECT country -> FROM sakila.v_countriesstartingwith_a -> ); ERROR 2013 (HY000): Lost connection to MySQL server during query mysql> mysql> 091015 19:50:55 mysqld_safe mysqld restarted Stack trace is: 0 mysqld 0x005d0f09 my_print_stacktrace + 45 1 mysqld 0x001014f9 handle_segfault + 915 2 libSystem.B.dylib 0x940472bb _sigtramp + 43 3 ??? 0xffffffff 0x0 + 4294967295 4 mysqld 0x0019a832 _Z15find_item_equalP10COND_EQUALP5FieldPb + 60 5 mysqld 0x001a93ad _Z24setup_sj_materializationP13st_join_table + 1983 6 mysqld 0x001a9761 _Z24setup_sj_materializationP13st_join_table + 2931 7 mysqld 0x001be807 _ZN4JOIN8optimizeEv + 7779 8 mysqld 0x001c59bd _Z12mysql_selectP3THDPPP4ItemP10TABLE_LISTjR4ListIS1_ES2_jP8st_orderSB_S2_SB_yP13select_resultP18st_select_lex_unitP13st_select_lex + 707 9 mysqld 0x001c5ddb _Z13handle_selectP3THDP3LEXP13select_resultm + 563 10 mysqld 0x001147c2 _Z20prepare_schema_tableP3THDP3LEXP11Table_ident18enum_schema_tables + 2124 11 mysqld 0x0011b1f9 _Z21mysql_execute_commandP3THD + 3167 12 mysqld 0x00124f12 _Z11mysql_parseP3THDPKcjPS2_ + 724 13 mysqld 0x00125b80 _Z16dispatch_command19enum_server_commandP3THDPcj + 2708 14 mysqld 0x0012707e _Z10do_commandP3THD + 632 15 mysqld 0x00111f6b handle_one_connection + 443 16 libSystem.B.dylib 0x9400c095 _pthread_start + 321 17 libSystem.B.dylib 0x9400bf52 thread_start + 34 So, this is definitely related to semijoin optimization: mysql> set session optimizer_switch="semijoin=off"; Query OK, 0 rows affected (0.00 sec) mysql> SELECT city_id, city, country_id FROM sakila.city WHERE city IN ( SELECT country FROM sakila.v_countriesstartingwith_a ); Empty set (0.01 sec)
[23 Nov 2009 14:47]
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/91316 3728 Tor Didriksen 2009-11-23 Bug #48073 Subquery on char columns from view crashes Mysql Server crashed because of a wrong C-style cast. @ mysql-test/r/subselect_sj.result Add test case. @ mysql-test/r/subselect_sj_jcl6.result Add test case. @ mysql-test/t/subselect_sj.test Add test case. @ sql/sql_select.cc When executing the view-based query, we actually iterate through an object which is an Item_ref, rather than an Item_field. Ask the item for its real_item() first, and then do the down-cast.
[24 Nov 2009 7:19]
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/91381 3728 Tor Didriksen 2009-11-24 Bug #48073 Subquery on char columns from view crashes Mysql Server crashed because of a wrong C-style cast. @ mysql-test/r/subselect_sj.result Add test case. @ mysql-test/r/subselect_sj_jcl6.result Add test case. @ mysql-test/t/subselect_sj.test Add test case. @ sql/sql_select.cc When executing the view-based query, we actually iterate through an object which is an Item_ref, rather than an Item_field. Ask the item for its real_item() first, and then do the down-cast.
[24 Nov 2009 16:31]
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/91443 3729 Tor Didriksen 2009-11-24 Bug #48073 Subquery on char columns from view crashes Mysql Server crashed because of a wrong C-style cast. @ mysql-test/r/subselect_sj.result Add test case. @ mysql-test/r/subselect_sj_jcl6.result Add test case. @ mysql-test/t/subselect_sj.test Add test case. @ sql/sql_select.cc When executing the view-based query, we actually iterate through an object which is an Item_ref, rather than an Item_field. Ask the item for its real_item() first, and then do the down-cast.
[25 Nov 2009 12:16]
Tor Didriksen
See also Bug#49097
[26 Nov 2009 7:02]
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/91734 3734 Tor Didriksen 2009-11-24 Bug #48073 Subquery on char columns from view crashes Mysql Server crashed because of a wrong C-style cast. @ mysql-test/r/subselect_sj.result Add test case. @ mysql-test/r/subselect_sj_jcl6.result Add test case. @ mysql-test/t/subselect_sj.test Add test case. @ sql/sql_select.cc When executing the view-based query, we actually iterate through an object which is an Item_ref, rather than an Item_field. Ask the item for its real_item() first, and then do the down-cast.
[26 Nov 2009 15:35]
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/91815 3738 Tor Didriksen 2009-11-24 Bug #48073 Subquery on char columns from view crashes Mysql Server crashed because of a wrong C-style cast. @ mysql-test/r/subselect_sj.result Add test case. @ mysql-test/r/subselect_sj_jcl6.result Add test case. @ mysql-test/t/subselect_sj.test Add test case. @ sql/sql_select.cc When executing the view-based query, we actually iterate through an object which is an Item_ref, rather than an Item_field. Ask the item for its real_item() first, and then do the down-cast.
[27 Nov 2009 14:17]
Tor Didriksen
pushed to bzr+ssh://bk-internal.mysql.com/bzrroot/server/mysql-6.0-codebase-bugfixing/
[11 Dec 2009 6:01]
Bugs System
Pushed into 6.0.14-alpha (revid:alik@sun.com-20091211055901-yp18b3c7xuhl87rf) (version source revid:alik@sun.com-20091211055401-43rjwq7gjed6ds83) (merge vers: 6.0.14-alpha) (pib:13)
[16 Dec 2009 2:37]
Paul DuBois
Noted in 6.0.14 changelog. Use of a view that selects from character columns in a subquery could crash the server.
[15 Apr 2010 7:27]
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/105691 3074 Tor Didriksen 2010-04-15 Bug #48073 Subquery on char columns from view crashes Mysql Backport of tor.didriksen@sun.com-20091124163106-0xjh4yghtad88n4u Server crashed because of a wrong C-style cast. @ mysql-test/r/subselect_sj.result Add test case. @ mysql-test/t/subselect_sj.test Add test case. @ sql/sql_select.cc When executing the view-based query, we actually iterate through an object which is an Item_ref, rather than an Item_field. Ask the item for its real_item() first, and then do the down-cast.
[16 Aug 2010 6:35]
Bugs System
Pushed into mysql-next-mr (revid:alik@sun.com-20100816062819-bluwgdq8q4xysmlg) (version source revid:alik@sun.com-20100816062612-enatdwnv809iw3s9) (pib:20)
[13 Nov 2010 16:11]
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)
[22 Nov 2010 0:34]
Paul DuBois
Noted in 5.6.1 changelog.
[23 Nov 2010 2:17]
Paul DuBois
Correction: No 5.6.1 changelog entry. Bug does not appear in any released 5.6.x version.