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.