Bug #52120 | create view cause Assertion failed: 0, file .\item_subselect.cc, line 817 | ||
---|---|---|---|
Submitted: | 17 Mar 2010 2:19 | Modified: | 20 Jun 2010 17:53 |
Reporter: | Shane Bester (Platinum Quality Contributor) | Email Updates: | |
Status: | Closed | Impact on me: | |
Category: | MySQL Server: Optimizer | Severity: | S1 (Critical) |
Version: | 5.1.46-debug, 5.6.99-m4-debug | OS: | Any |
Assigned to: | Sergei Glukhov | CPU Architecture: | Any |
Tags: | assertion |
[17 Mar 2010 2:19]
Shane Bester
[17 Mar 2010 2:37]
MySQL Verification Team
Microsoft Windows [Version 6.0.6002] Copyright (c) 2006 Microsoft Corporation. All rights reserved. C:\DBS>51 C:\DBS>c:\dbs\5.1\bin\mysql -uroot --port=3306 --prompt="mysql 5.1 >" Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 1 Server version: 5.1.46-Win X64-debug-log Source distribution Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. mysql 5.1 >use test Database changed mysql 5.1 >drop table if exists t1; Query OK, 0 rows affected (0.07 sec) mysql 5.1 >create table `t1` (`a` char(1)charset latin1,`b` char(1) charset utf8) engine=myisam; Query OK, 0 rows affected (0.08 sec) mysql 5.1 >create or replace view `v1` as select 1 from `t1` -> where `t1`.`b` <=>(select `a` from `t1` where `a` <some(select '1')); ERROR 2013 (HY000): Lost connection to MySQL server during query mysql 5.1 > 100316 23:19:58 [Note] Plugin 'FEDERATED' is disabled. 100316 23:20:01 [Note] Event Scheduler: Loaded 0 events 100316 23:20:01 [Note] C:\DBS\5.1\bin\mysqld: ready for connections. Version: '5.1.46-Win X64-debug-log' socket: '' port: 3306 Source distribution Assertion failed: 0, file .\item_subselect.cc, line 817 100316 23:34:03 - mysqld got exception 0x80000003 ; This could be because you hit a bug. It is also possible that this binary or one of the libraries it was linked against is corrupt, improperly built, or misconfigured. This error can also be caused by malfunctioning hardware. We will try our best to scrape up some info that will hopefully help diagnose the problem, but since we have already crashed, something is definitely wrong and this may fail. key_buffer_size=8384512 read_buffer_size=131072 max_used_connections=1 max_threads=151 threads_connected=1 It is possible that mysqld could use up to key_buffer_size + (read_buffer_size + sort_buffer_size)*max_threads = 338112 K bytes of memory Hope that's ok; if not, decrease some variables in the equation. thd: 0xd31f18 Attempting backtrace. You can use the following information to find out where mysqld died. If you see no messages after this, something went terribly wrong... 00000001400579D5 mysqld.exe!my_sigabrt_handler()[mysqld.cc:2047] 000000014000BB61 mysqld.exe!raise()[winsig.c:597] 0000000140014133 mysqld.exe!abort()[abort.c:78] 00000001405D21CA mysqld.exe!_wassert()[assert.c:395] 000000014031A8B2 mysqld.exe!Item_in_subselect::val_int()[item_subselect.cc:817] 000000014009EE4D mysqld.exe!Item_func_nop_all::val_int()[item_cmpfunc.cc:357] 00000001401468B6 mysqld.exe!eval_const_cond()[item_func.cc:63] 00000001402C40E6 mysqld.exe!remove_eq_conds()[sql_select.cc:9271] 00000001402C16EE mysqld.exe!optimize_cond()[sql_select.cc:9119] 00000001402A9093 mysqld.exe!JOIN::optimize()[sql_select.cc:879] 000000014031F548 mysqld.exe!subselect_single_select_engine::exec()[item_subselect.cc:1889] 00000001403186BA mysqld.exe!Item_subselect::exec()[item_subselect.cc:261] 0000000140319A3B mysqld.exe!Item_singlerow_subselect::val_str()[item_subselect.cc:585] 00000001401F93E8 mysqld.exe!Item_func_conv_charset::Item_func_conv_charset()[item_strfunc.h:718] 00000001401E0296 mysqld.exe!Item::safe_charset_converter()[item.cc:767] 00000001401E3545 mysqld.exe!agg_item_set_converter()[item.cc:1703] 00000001401E37CF mysqld.exe!agg_item_charsets()[item.cc:1783] 00000001400B487C mysqld.exe!Item_func::agg_arg_charsets()[item_func.h:176] 000000014009EFB2 mysqld.exe!Item_bool_func2::fix_length_and_dec()[item_cmpfunc.cc:486] 00000001400A3E6D mysqld.exe!Item_func_equal::fix_length_and_dec()[item_cmpfunc.cc:1867] 0000000140146FEB mysqld.exe!Item_func::fix_fields()[item_func.cc:199] 0000000140179ABF mysqld.exe!setup_conds()[sql_base.cc:8039] 00000001402DEF7A mysqld.exe!setup_without_group()[sql_select.cc:432] 00000001402A7A86 mysqld.exe!JOIN::prepare()[sql_select.cc:521] 0000000140373724 mysqld.exe!st_select_lex_unit::prepare()[sql_union.cc:264] 00000001402E83BD mysqld.exe!mysql_create_view()[sql_view.cc:520] 000000014020E6A7 mysqld.exe!mysql_execute_command()[sql_parse.cc:4652] 0000000140213735 mysqld.exe!mysql_parse()[sql_parse.cc:5975] 000000014020423B mysqld.exe!dispatch_command()[sql_parse.cc:1235] 00000001402034EA mysqld.exe!do_command()[sql_parse.cc:874] 00000001400C7235 mysqld.exe!handle_one_connection()[sql_connect.cc:1127] 0000000140604D45 mysqld.exe!pthread_start()[my_winthread.c:85] 00000001405DAFB5 mysqld.exe!_callthreadstart()[thread.c:295] 00000001405DAF87 mysqld.exe!_threadstart()[thread.c:277] 00000000774DBE3D kernel32.dll!BaseThreadInitThunk() 0000000077616A51 ntdll.dll!RtlUserThreadStart() Trying to get some variables. Some pointers may be invalid and cause the dump to abort... thd->query at 0000000000DB01A8=create or replace view `v1` as select 1 from `t1` where `t1`.`b` <=>(select `a` from `t1` where `a` <some(select '1')) thd->thread_id=1 thd->killed=NOT_KILLED The manual page at http://dev.mysql.com/doc/mysql/en/crashing.html contains information that should help you find out what is causing the crash.
[17 Mar 2010 2:42]
MySQL Verification Team
Thank you for the bug report. Older bug: C:\bugs\mysql-5.0.17-win32>bin\mysql -uroot test Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 1 to server version: 5.0.17-debug Type 'help;' or '\h' for help. Type '\c' to clear the buffer. mysql> drop table if exists t1; Query OK, 0 rows affected, 1 warning (0.00 sec) mysql> create table `t1` (`a` char(1)charset latin1,`b` char(1) charset utf8) engine=myisam; Query OK, 0 rows affected (0.03 sec) mysql> create or replace view `v1` as select 1 from `t1` -> where `t1`.`b` <=>(select `a` from `t1` where `a` <some(select '1')); ERROR 2013 (HY000): Lost connection to MySQL server during query mysql>
[23 Mar 2010 10: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/104062 3413 Sergey Glukhov 2010-03-23 Bug#52120 create view cause Assertion failed: 0, file .\item_subselect.cc, line 817 We should disable const subselect item evaluation because subselect transformation does not happen in view_prepare_mode and thus val_...() methods can not be called. @ mysql-test/r/ctype_ucs.result test case @ mysql-test/r/view.result test case @ mysql-test/t/ctype_ucs.test test case @ mysql-test/t/view.test test case @ sql/item.cc disabled const subselect item evaluation in view prepare mode. @ sql/item_subselect.cc added Item_subselect::safe_charset_converter which prevents const item evaluation in view prepare mode. @ sql/item_subselect.h added Item_subselect::safe_charset_converter which prevents const item evaluation in view prepare mode.
[23 Mar 2010 10:52]
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/104072 3413 Sergey Glukhov 2010-03-23 Bug#52120 create view cause Assertion failed: 0, file .\item_subselect.cc, line 817 We should disable const subselect item evaluation because subselect transformation does not happen in view_prepare_mode and thus val_...() methods can not be called. @ mysql-test/r/ctype_ucs.result test case @ mysql-test/r/view.result test case @ mysql-test/t/ctype_ucs.test test case @ mysql-test/t/view.test test case @ sql/item.cc disabled const subselect item evaluation in view prepare mode. @ sql/item_subselect.cc added Item_subselect::safe_charset_converter which prevents const item evaluation in view prepare mode. @ sql/item_subselect.h added Item_subselect::safe_charset_converter which prevents const item evaluation in view prepare mode.
[23 Mar 2010 10:55]
Alexander Barkov
http://lists.mysql.com/commits/104072 is Ok.
[30 Mar 2010 5:26]
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/104584 3432 Sergey Glukhov 2010-03-26 Bug#52120 create view cause Assertion failed: 0, file .\item_subselect.cc, line 817 We should disable const subselect item evaluation because subselect transformation does not happen in view_prepare_mode and thus val_...() methods can not be called. @ mysql-test/r/ctype_ucs.result test case @ mysql-test/r/view.result test case @ mysql-test/t/ctype_ucs.test test case @ mysql-test/t/view.test test case @ sql/item.cc disabled const subselect item evaluation in view prepare mode. @ sql/item_subselect.cc added Item_subselect::safe_charset_converter which prevents const item evaluation in view prepare mode. @ sql/item_subselect.h added Item_subselect::safe_charset_converter which prevents const item evaluation in view prepare mode.
[6 Apr 2010 8:25]
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/105042 3446 Sergey Glukhov 2010-04-06 Bug#52120 create view cause Assertion failed: 0, file .\item_subselect.cc, line 817 We should disable const subselect item evaluation because subselect transformation does not happen in view_prepare_mode and thus val_...() methods can not be called. @ mysql-test/r/ctype_ucs.result test case @ mysql-test/r/view.result test case @ mysql-test/t/ctype_ucs.test test case @ mysql-test/t/view.test test case @ sql/item.cc disabled const subselect item evaluation in view prepare mode. @ sql/item_subselect.cc added Item_subselect::safe_charset_converter which prevents const item evaluation in view prepare mode. @ sql/item_subselect.h added Item_subselect::safe_charset_converter which prevents const item evaluation in view prepare mode.
[5 May 2010 15:22]
Bugs System
Pushed into 5.1.47 (revid:joro@sun.com-20100505145753-ivlt4hclbrjy8eye) (version source revid:kristofer.pettersson@sun.com-20100416145616-vdcdyz9eu7j86lp7) (merge vers: 5.1.47) (pib:16)
[12 May 2010 19:23]
Paul DuBois
Noted in 5.1.47 changelog. For debug builds, creating a view containing a subquery that might require collation adjustment caused an assertion to be raised. For example, this could occur if some items had different collations but the result collation could be adjusted to the one of them.
[28 May 2010 6:12]
Bugs System
Pushed into mysql-next-mr (revid:alik@sun.com-20100524190136-egaq7e8zgkwb9aqi) (version source revid:alik@sun.com-20100422150750-vp0n37kp9ywq5ghf) (pib:16)
[28 May 2010 6:40]
Bugs System
Pushed into 6.0.14-alpha (revid:alik@sun.com-20100524190941-nuudpx60if25wsvx) (version source revid:alik@sun.com-20100422150658-fkhgnwwkyugtxrmu) (merge vers: 6.0.14-alpha) (pib:16)
[28 May 2010 7:08]
Bugs System
Pushed into 5.5.5-m3 (revid:alik@sun.com-20100524185725-c8k5q7v60i5nix3t) (version source revid:alexey.kopytov@sun.com-20100411071742-a2o2anlcrj2bq14q) (merge vers: 5.5.4-m3) (pib:16)
[30 May 2010 0:27]
Paul DuBois
Noted in 5.5.5, 6.0.14 changelogs.
[17 Jun 2010 12:15]
Bugs System
Pushed into 5.1.47-ndb-7.0.16 (revid:martin.skold@mysql.com-20100617114014-bva0dy24yyd67697) (version source revid:vasil.dimov@oracle.com-20100331130613-8ja7n0vh36a80457) (merge vers: 5.1.46) (pib:16)
[17 Jun 2010 13:01]
Bugs System
Pushed into 5.1.47-ndb-6.2.19 (revid:martin.skold@mysql.com-20100617115448-idrbic6gbki37h1c) (version source revid:vasil.dimov@oracle.com-20100331130613-8ja7n0vh36a80457) (merge vers: 5.1.46) (pib:16)
[17 Jun 2010 13:42]
Bugs System
Pushed into 5.1.47-ndb-6.3.35 (revid:martin.skold@mysql.com-20100617114611-61aqbb52j752y116) (version source revid:vasil.dimov@oracle.com-20100331130613-8ja7n0vh36a80457) (merge vers: 5.1.46) (pib:16)
[25 Oct 2010 3:28]
MySQL Verification Team
still seeing this with different testcase after this fix. see bug #57703