| Bug #74889 | Sig-6 abort in Item_in_subselect::exec | sql/item_subselect.cc:730 | ||
|---|---|---|---|
| Submitted: | 17 Nov 2014 5:20 | Modified: | 25 Nov 2019 21:39 |
| Reporter: | Ramesh Sivaraman | Email Updates: | |
| Status: | Can't repeat | Impact on me: | |
| Category: | MySQL Server: DML | Severity: | S3 (Non-critical) |
| Version: | 5.6.21 | OS: | Linux (CentOS 7) |
| Assigned to: | CPU Architecture: | Any | |
| Tags: | debug | ||
[17 Nov 2014 5:20]
Ramesh Sivaraman
[17 Nov 2014 6:50]
MySQL Verification Team
Hello Ramesh Sivaraman, Thank you for the report and test case. Confirmed that only 5.6.21 debug build is affected and latest(5.6.23/5.7.6) builds are not affected. Thanks, Umesh
[17 Nov 2014 6:50]
MySQL Verification Team
// 5.6.21 only debug build affected
(gdb) bt
#0 __pthread_kill (threadid=<value optimized out>, signo=<value optimized out>) at ../nptl/sysdeps/unix/sysv/linux/pthread_kill.c:63
#1 0x0000000000aaa203 in my_write_core (sig=6) at /export/home/pb2/build/sb_0-13191046-1410443906.78/mysql-5.6.21/mysys/stacktrace.c:422
#2 0x00000000007140ea in handle_fatal_signal (sig=6) at /export/home/pb2/build/sb_0-13191046-1410443906.78/mysql-5.6.21/sql/signal_handler.cc:230
#3 <signal handler called>
#4 0x0000003deac32625 in raise (sig=6) at ../nptl/sysdeps/unix/sysv/linux/raise.c:64
#5 0x0000003deac33e05 in abort () at abort.c:92
#6 0x0000003deac2b74e in __assert_fail_base (fmt=<value optimized out>,
assertion=0xf973f0 "exec_method != EXEC_MATERIALIZATION || (exec_method == EXEC_MATERIALIZATION && engine->engine_type() == subselect_engine::HASH_SJ_ENGINE)",
file=0xf96718 "/export/home/pb2/build/sb_0-13191046-1410443906.78/mysql-5.6.21/sql/item_subselect.cc", line=<value optimized out>, function=<value optimized out>) at assert.c:96
#7 0x0000003deac2b810 in __assert_fail (
assertion=0xf973f0 "exec_method != EXEC_MATERIALIZATION || (exec_method == EXEC_MATERIALIZATION && engine->engine_type() == subselect_engine::HASH_SJ_ENGINE)",
file=0xf96718 "/export/home/pb2/build/sb_0-13191046-1410443906.78/mysql-5.6.21/sql/item_subselect.cc", line=732, function=0xf987e0 "virtual bool Item_in_subselect::exec()") at assert.c:105
#8 0x0000000000933a8a in Item_in_subselect::exec (this=0x7f1678006a10) at /export/home/pb2/build/sb_0-13191046-1410443906.78/mysql-5.6.21/sql/item_subselect.cc:730
#9 0x000000000092ba3b in Item_in_subselect::val_bool (this=0x7f1678006a10) at /export/home/pb2/build/sb_0-13191046-1410443906.78/mysql-5.6.21/sql/item_subselect.cc:1400
#10 0x000000000062615e in Item::val_bool_result (this=0x7f1678006a10) at /export/home/pb2/build/sb_0-13191046-1410443906.78/mysql-5.6.21/sql/item.h:1191
#11 0x000000000065aea1 in Item_in_optimizer::val_int (this=0x7f167801fe20) at /export/home/pb2/build/sb_0-13191046-1410443906.78/mysql-5.6.21/sql/item_cmpfunc.cc:2099
#12 0x0000000000796c78 in evaluate_join_record (join=0x7f167801f270, join_tab=0x7f1678020c30) at /export/home/pb2/build/sb_0-13191046-1410443906.78/mysql-5.6.21/sql/sql_executor.cc:1461
#13 0x000000000079b372 in sub_select (join=0x7f167801f270, join_tab=0x7f1678020c30, end_of_records=false)
at /export/home/pb2/build/sb_0-13191046-1410443906.78/mysql-5.6.21/sql/sql_executor.cc:1276
#14 0x000000000079cc1d in do_select (join=0x7f167801f270) at /export/home/pb2/build/sb_0-13191046-1410443906.78/mysql-5.6.21/sql/sql_executor.cc:933
#15 0x000000000079d529 in JOIN::exec (this=0x7f167801f270) at /export/home/pb2/build/sb_0-13191046-1410443906.78/mysql-5.6.21/sql/sql_executor.cc:194
#16 0x00000000007ff62c in mysql_execute_select (thd=0x36d20e0, select_lex=0x36d4958, free_join=true) at /export/home/pb2/build/sb_0-13191046-1410443906.78/mysql-5.6.21/sql/sql_select.cc:1100
#17 0x00000000007fffeb in mysql_select (thd=0x36d20e0, tables=0x7f1678005200, wild_num=1, fields=..., conds=0x7f1678006a10, order=0x36d4b20, group=0x36d4a58, having=0x0,
select_options=2147748608, result=0x7f1678006c58, unit=0x36d4310, select_lex=0x36d4958) at /export/home/pb2/build/sb_0-13191046-1410443906.78/mysql-5.6.21/sql/sql_select.cc:1221
#18 0x00000000008001e7 in handle_select (thd=0x36d20e0, result=0x7f1678006c58, setup_tables_done_option=0)
at /export/home/pb2/build/sb_0-13191046-1410443906.78/mysql-5.6.21/sql/sql_select.cc:110
#19 0x00000000007c63bc in execute_sqlcom_select (thd=0x36d20e0, all_tables=0x7f1678005200) at /export/home/pb2/build/sb_0-13191046-1410443906.78/mysql-5.6.21/sql/sql_parse.cc:5103
#20 0x00000000007c78e7 in mysql_execute_command (thd=0x36d20e0) at /export/home/pb2/build/sb_0-13191046-1410443906.78/mysql-5.6.21/sql/sql_parse.cc:2649
#21 0x00000000007cee85 in mysql_parse (thd=0x36d20e0, rawbuf=0x7f1678004fd0 "SELECT * FROM t1 WHERE a IN(SELECT MIN(a)FROM t1)", length=49, parser_state=0x7f169a7fe680)
at /export/home/pb2/build/sb_0-13191046-1410443906.78/mysql-5.6.21/sql/sql_parse.cc:6245
#22 0x00000000007d0a2f in dispatch_command (command=COM_QUERY, thd=0x36d20e0, packet=0x3eaedc1 "", packet_length=49)
at /export/home/pb2/build/sb_0-13191046-1410443906.78/mysql-5.6.21/sql/sql_parse.cc:1332
#23 0x00000000007d2269 in do_command (thd=0x36d20e0) at /export/home/pb2/build/sb_0-13191046-1410443906.78/mysql-5.6.21/sql/sql_parse.cc:1034
#24 0x0000000000788571 in do_handle_one_connection (thd_arg=0x36d20e0) at /export/home/pb2/build/sb_0-13191046-1410443906.78/mysql-5.6.21/sql/sql_connect.cc:982
#25 0x0000000000788637 in handle_one_connection (arg=0x36d20e0) at /export/home/pb2/build/sb_0-13191046-1410443906.78/mysql-5.6.21/sql/sql_connect.cc:898
#26 0x0000000000d9bbe2 in pfs_spawn_thread (arg=0x3e90940) at /export/home/pb2/build/sb_0-13191046-1410443906.78/mysql-5.6.21/storage/perfschema/pfs.cc:1860
#27 0x0000003deb0079d1 in start_thread (arg=0x7f169a7ff700) at pthread_create.c:301
#28 0x0000003deace89dd in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:115
[17 Nov 2014 6:51]
MySQL Verification Team
// 5.6.23/5.7.6 not affected.. most likely this issue fixed? mysql> show variables like '%version%'; +-------------------------+---------------------------------------------------------------+ | Variable_name | Value | +-------------------------+---------------------------------------------------------------+ | innodb_version | 5.6.23 | | protocol_version | 10 | | slave_type_conversions | | | version | 5.6.23-enterprise-commercial-advanced-debug | | version_comment | MySQL Enterprise Server - Advanced Edition Debug (Commercial) | | version_compile_machine | x86_64 | | version_compile_os | Linux | +-------------------------+---------------------------------------------------------------+ 7 rows in set (0.00 sec) mysql> DROP DATABASE test;CREATE DATABASE test;USE test; Query OK, 1 row affected (0.00 sec) mysql> SET SESSION big_tables=1; Query OK, 0 rows affected (0.00 sec) mysql> CREATE TABLE t1(a char(255)DEFAULT'',KEY(a(10))) ENGINE=MyISAM DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci; Query OK, 0 rows affected (0.01 sec) mysql> INSERT INTO t1 VALUES(0),(0),(0); Query OK, 3 rows affected (0.00 sec) Records: 3 Duplicates: 0 Warnings: 0 mysql> SELECT * FROM t1 WHERE a IN(SELECT MIN(a)FROM t1); +------+ | a | +------+ | 0 | | 0 | | 0 | +------+ 3 rows in set (0.01 sec) mysql> show variables like '%version%'; +-------------------------+---------------------------------------------------------+ | Variable_name | Value | +-------------------------+---------------------------------------------------------+ | innodb_version | 5.6.23 | | protocol_version | 10 | | slave_type_conversions | | | version | 5.6.23-enterprise-commercial-advanced | | version_comment | MySQL Enterprise Server - Advanced Edition (Commercial) | | version_compile_machine | x86_64 | | version_compile_os | Linux | +-------------------------+---------------------------------------------------------+ 7 rows in set (0.00 sec) mysql> DROP DATABASE test;CREATE DATABASE test;USE test; Query OK, 1 row affected (0.00 sec) mysql> SET SESSION big_tables=1; Query OK, 0 rows affected (0.00 sec) mysql> CREATE TABLE t1(a char(255)DEFAULT'',KEY(a(10))) ENGINE=MyISAM DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci; INSERT INTO t1 VALUES(0),(0),(0); Query OK, 0 rows affected (0.01 sec) mysql> INSERT INTO t1 VALUES(0),(0),(0); Query OK, 3 rows affected (0.00 sec) Records: 3 Duplicates: 0 Warnings: 0 mysql> SELECT * FROM t1 WHERE a IN(SELECT MIN(a)FROM t1); +------+ | a | +------+ | 0 | | 0 | | 0 | +------+ 3 rows in set (0.00 sec) // 5.7.6 mysql> show variables like '%version%'; +-------------------------+---------------------------------------------------------------+ | Variable_name | Value | +-------------------------+---------------------------------------------------------------+ | innodb_version | 5.7.6 | | protocol_version | 10 | | slave_type_conversions | | | version | 5.7.6-m16-enterprise-commercial-advanced-debug | | version_comment | MySQL Enterprise Server - Advanced Edition Debug (Commercial) | | version_compile_machine | x86_64 | | version_compile_os | linux-glibc2.5 | +-------------------------+---------------------------------------------------------------+ 7 rows in set (0.00 sec) mysql> DROP DATABASE test;CREATE DATABASE test;USE test; ERROR 1008 (HY000): Can't drop database 'test'; database doesn't exist Query OK, 1 row affected (0.00 sec) Database changed mysql> SET SESSION big_tables=1; Query OK, 0 rows affected (0.00 sec) mysql> CREATE TABLE t1(a char(255)DEFAULT'',KEY(a(10))) ENGINE=MyISAM DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci; INSERT INTO t1 VALUES(0),(0),(0); Query OK, 0 rows affected (0.01 sec) mysql> INSERT INTO t1 VALUES(0),(0),(0); SELECT * FROM t1 WHERE a IN(SELECT MIN(a)FROM t1);Query OK, 3 rows affected (0.00 sec) Records: 3 Duplicates: 0 Warnings: 0 mysql> SELECT * FROM t1 WHERE a IN(SELECT MIN(a)FROM t1); +------+ | a | +------+ | 0 | | 0 | | 0 | +------+ 3 rows in set (0.00 sec)
[25 Nov 2019 21:39]
Roy Lyseng
Posted by developer: According to verifier, not reproducible on most recent 5.6 versions.
