Bug #78237 handle_fatal_signal (sig=11) in store_min when --range-alloc-block-size is large
Submitted: 27 Aug 2015 5:00 Modified: 4 Sep 2015 15:00
Reporter: Roel Van de Paar Email Updates:
Status: Duplicate Impact on me:
None 
Category:MySQL Server: Options Severity:S1 (Critical)
Version:5.7.8 (RC2), 5.7.9 OS:Any
Assigned to: CPU Architecture:Any
Tags: opt

[27 Aug 2015 5:00] Roel Van de Paar
Description:
+bt
#0  0x00007ff7a622b771 in __pthread_kill (threadid=<optimized out>, signo=11) at ../nptl/sysdeps/unix/sysv/linux/pthread_kill.c:61
#1  0x0000000000761db4 in handle_fatal_signal (sig=11) at /export/home/pb2/build/sb_0-15961582-1437395640.67/mysql-5.7.8-rc/sql/signal_handler.cc:220
#2  <signal handler called>
#3  __memmove_ssse3_back () at ../sysdeps/x86_64/multiarch/memcpy-ssse3-back.S:204
#4  0x0000000000dadb9c in store_min (min_key_flag=0, min_key=0x7ff7a6820690, length=65504, this=0x7ff6e189d5b8) at /export/home/pb2/build/sb_0-15961582-1437395640.67/mysql-5.7.8-rc/sql/opt_range.cc:611
#5  get_quick_keys (param=0x7ff7a6820970, quick=0x7ff6e1821540, key=0x7ff6e189d088, key_tree=0x7ff6e189d5b8, min_key=0x7ff7a6820ad0 "\316\a", min_key_flag=0, max_key=0x7ff7a68219ce "\316\a", max_key_flag=0) at /export/home/pb2/build/sb_0-15961582-1437395640.67/mysql-5.7.8-rc/sql/opt_range.cc:10112
#6  0x0000000000dadddf in get_quick_keys (param=0x7ff7a6820970, quick=0x7ff6e1821540, key=0x7ff6e189d088, key_tree=0x7ff6e189d300, min_key=<optimized out>, min_key_flag=0, max_key=<optimized out>, max_key_flag=0) at /export/home/pb2/build/sb_0-15961582-1437395640.67/mysql-5.7.8-rc/sql/opt_range.cc:10212
#7  0x0000000000dae1a0 in get_quick_select (param=0x7ff7a6820970, idx=0, key_tree=0x7ff6e189d300, mrr_flags=324, mrr_buf_size=0, parent_alloc=0x0) at /export/home/pb2/build/sb_0-15961582-1437395640.67/mysql-5.7.8-rc/sql/opt_range.cc:10068
#8  0x0000000000dc01c5 in TRP_RANGE::make_quick (this=0x7ff6e189d620, param=<optimized out>, retrieve_full_rows=<optimized out>, parent_alloc=<optimized out>) at /export/home/pb2/build/sb_0-15961582-1437395640.67/mysql-5.7.8-rc/sql/opt_range.cc:2273
#9  0x0000000000dbcb1c in test_quick_select (thd=0x7ff6e1818000, keys_to_use=..., prev_tables=140701627198656, limit=<optimized out>, force_quick_range=<optimized out>, interesting_order=st_order::ORDER_NOT_RELEVANT, tab=0x7ff6e182be18, cond=0x7ff6e182aeb8, needed_reg=0x7ff6e182be58, quick=0x7ff7a6823068) at /export/home/pb2/build/sb_0-15961582-1437395640.67/mysql-5.7.8-rc/sql/opt_range.cc:3074
#10 0x0000000000c6bbed in get_quick_record_count (limit=18446744073709551615, tab=0x7ff6e182be18, thd=0x7ff6e1818000) at /export/home/pb2/build/sb_0-15961582-1437395640.67/mysql-5.7.8-rc/sql/sql_optimizer.cc:5748
#11 JOIN::estimate_rowcount (this=0x7ff6e1898030) at /export/home/pb2/build/sb_0-15961582-1437395640.67/mysql-5.7.8-rc/sql/sql_optimizer.cc:5495
#12 0x0000000000c70c21 in JOIN::make_join_plan (this=0x7ff6e1898030) at /export/home/pb2/build/sb_0-15961582-1437395640.67/mysql-5.7.8-rc/sql/sql_optimizer.cc:4852
#13 0x0000000000c742d7 in JOIN::optimize (this=0x7ff6e1898030) at /export/home/pb2/build/sb_0-15961582-1437395640.67/mysql-5.7.8-rc/sql/sql_optimizer.cc:354
#14 0x0000000000cb7fa2 in st_select_lex::optimize (this=0x7ff6e182a0d0, thd=0x7ff6e1818000) at /export/home/pb2/build/sb_0-15961582-1437395640.67/mysql-5.7.8-rc/sql/sql_select.cc:1012
#15 0x0000000000cb8237 in handle_query (thd=0x7ff6e1818000, lex=0x7ff6e181a058, result=0x7ff6e182b8d0, added_options=1, removed_options=0) at /export/home/pb2/build/sb_0-15961582-1437395640.67/mysql-5.7.8-rc/sql/sql_select.cc:164
#16 0x0000000000c7a483 in execute_sqlcom_select (thd=0x7ff6e1818000, all_tables=<optimized out>) at /export/home/pb2/build/sb_0-15961582-1437395640.67/mysql-5.7.8-rc/sql/sql_parse.cc:4843
#17 0x0000000000c7bdbb in mysql_execute_command (thd=0x7ff6e1818000) at /export/home/pb2/build/sb_0-15961582-1437395640.67/mysql-5.7.8-rc/sql/sql_parse.cc:2521
#18 0x0000000000c7f7e8 in mysql_parse (thd=0x7ff6e1818000, parser_state=<optimized out>) at /export/home/pb2/build/sb_0-15961582-1437395640.67/mysql-5.7.8-rc/sql/sql_parse.cc:5255
#19 0x0000000000c80a82 in dispatch_command (thd=0x7ff6e1818000, com_data=0x7ff7a6824da0, command=COM_QUERY) at /export/home/pb2/build/sb_0-15961582-1437395640.67/mysql-5.7.8-rc/sql/sql_parse.cc:1272
#20 0x0000000000c81c54 in do_command (thd=0x7ff6e1818000) at /export/home/pb2/build/sb_0-15961582-1437395640.67/mysql-5.7.8-rc/sql/sql_parse.cc:852
#21 0x0000000000d486ac in handle_connection (arg=<optimized out>) at /export/home/pb2/build/sb_0-15961582-1437395640.67/mysql-5.7.8-rc/sql/conn_handler/connection_handler_per_thread.cc:300
#22 0x0000000000ee7690 in pfs_spawn_thread (arg=0x7ff79bfeb820) at /export/home/pb2/build/sb_0-15961582-1437395640.67/mysql-5.7.8-rc/storage/perfschema/pfs.cc:2178
#23 0x00007ff7a6226df5 in start_thread (arg=0x7ff7a6825700) at pthread_create.c:308
#24 0x00007ff7a4ef01ad in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:113

How to repeat:
# mysqld options required for replay: --range-alloc-block-size=1125899906842624
DROP DATABASE test;CREATE DATABASE test;USE test;
CREATE TABLE t1(c1 INT KEY,c2 CHAR (1),c3 DATE);
SELECT * FROM t1 WHERE c1 IN('1998-12-31 11:30:45','2008-01-06 00:00:00');
[27 Aug 2015 8:04] MySQL Verification Team
Hello Roel,

Thank you for the report and test case.
Verified that 5.7.8/5.7.9 daily builds are affected.

Thanks,
Umesh
[27 Aug 2015 8:04] MySQL Verification Team
// 5.7.8 

rm -rf 78235
bin/mysql_install_db --insecure --basedir=/export/umesh/server/binaries/mysql-5.7.8-rc --datadir=/export/umesh/server/binaries/mysql-5.7.8-rc/78235 -v
bin/mysqld --no-defaults --range-alloc-block-size=1125899906842624 --basedir=/export/umesh/server/binaries/mysql-5.7.8-rc --datadir=/export/umesh/server/binaries/mysql-5.7.8-rc/78235 --core-file --socket=/tmp/mysql_ushastry.sock  --port=15000 --log-error=/export/umesh/server/binaries/mysql-5.7.8-rc/78235/log.err 2>&1 &

[umshastr@hod03]/export/umesh/server/binaries/mysql-5.7.8-rc: cat docs/INFO_SRC
commit: ae3b133e5f7b13d1edf7acf7eee6af2c2b4014e2
date: 2015-07-20 14:02:16 +0200
build-date: 2015-07-20 14:16:07 +0200
short: ae3b133
branch: mysql-5.7.8-rc-release

MySQL source 5.7.8

(gdb) bt
#0  0x00007fb40c018771 in pthread_kill () from /lib64/libpthread.so.0
#1  0x0000000000761db4 in handle_fatal_signal (sig=11) at /export/home/pb2/build/sb_0-15961582-1437395640.67/mysql-5.7.8-rc/sql/signal_handler.cc:220
#2  <signal handler called>
#3  0x000000000077ab31 in Field::optimize_range (this=<optimized out>, idx=0, part=0) at /export/home/pb2/build/sb_0-15961582-1437395640.67/mysql-5.7.8-rc/sql/field.cc:2127
#4  0x0000000000db1f7b in get_mm_leaf (param=0x7fb3dedb39b0, conf_func=<optimized out>, field=0x7fb39c0119d0, key_part=0x7fb39c01b500, type=Item_func::EQ_FUNC, value=0x7fb39c006060)
    at /export/home/pb2/build/sb_0-15961582-1437395640.67/mysql-5.7.8-rc/sql/opt_range.cc:7268
#5  0x0000000000db29dc in get_mm_parts (param=0x7fb3dedb39b0, cond_func=0x7fb39c006238, field=0x7fb39c0119d0, type=Item_func::EQ_FUNC, value=0x7fb39c006060, cmp_type=<optimized out>)
    at /export/home/pb2/build/sb_0-15961582-1437395640.67/mysql-5.7.8-rc/sql/opt_range.cc:6929
#6  0x0000000000db9cc9 in get_func_mm_tree_from_in_predicate (is_negated=208, cmp_type=INT_RESULT, value=<optimized out>, op=0x7fb39c006238, predicand=<optimized out>, param=0x7fb3dedb39b0)
    at /export/home/pb2/build/sb_0-15961582-1437395640.67/mysql-5.7.8-rc/sql/opt_range.cc:6184
#7  get_func_mm_tree (param=0x7fb3dedb39b0, predicand=<optimized out>, cond_func=0x7fb39c006238, value=0x0, cmp_type=INT_RESULT, inv=208)
    at /export/home/pb2/build/sb_0-15961582-1437395640.67/mysql-5.7.8-rc/sql/opt_range.cc:6340
#8  0x0000000000dba65e in get_full_func_mm_tree (param=<optimized out>, predicand=0x7fb39c006a58, op=0x7fb39c006238, value=0x0, inv=false)
    at /export/home/pb2/build/sb_0-15961582-1437395640.67/mysql-5.7.8-rc/sql/opt_range.cc:6466
#9  0x0000000000dbc81f in test_quick_select (thd=0x7fb39c000b50, keys_to_use=..., prev_tables=140410514791680, limit=<optimized out>, force_quick_range=<optimized out>,
    interesting_order=st_order::ORDER_NOT_RELEVANT, tab=0x7fb39c007198, cond=0x7fb39c006238, needed_reg=0x7fb39c0071d8, quick=0x7fb3dedb60a8)
    at /export/home/pb2/build/sb_0-15961582-1437395640.67/mysql-5.7.8-rc/sql/opt_range.cc:2932
#10 0x0000000000c6bbed in get_quick_record_count (limit=18446744073709551615, tab=0x7fb39c007198, thd=0x7fb39c000b50)
    at /export/home/pb2/build/sb_0-15961582-1437395640.67/mysql-5.7.8-rc/sql/sql_optimizer.cc:5748
#11 JOIN::estimate_rowcount (this=0x7fb39c9201e0) at /export/home/pb2/build/sb_0-15961582-1437395640.67/mysql-5.7.8-rc/sql/sql_optimizer.cc:5495
#12 0x0000000000c70c21 in JOIN::make_join_plan (this=0x7fb39c9201e0) at /export/home/pb2/build/sb_0-15961582-1437395640.67/mysql-5.7.8-rc/sql/sql_optimizer.cc:4852
#13 0x0000000000c742d7 in JOIN::optimize (this=0x7fb39c9201e0) at /export/home/pb2/build/sb_0-15961582-1437395640.67/mysql-5.7.8-rc/sql/sql_optimizer.cc:354
#14 0x0000000000cb7fa2 in st_select_lex::optimize (this=0x7fb39c005450, thd=0x7fb39c000b50) at /export/home/pb2/build/sb_0-15961582-1437395640.67/mysql-5.7.8-rc/sql/sql_select.cc:1012
#15 0x0000000000cb8237 in handle_query (thd=0x7fb39c000b50, lex=0x7fb39c002ba8, result=0x7fb39c006c50, added_options=1, removed_options=0)
    at /export/home/pb2/build/sb_0-15961582-1437395640.67/mysql-5.7.8-rc/sql/sql_select.cc:164
#16 0x0000000000c7a483 in execute_sqlcom_select (thd=0x7fb39c000b50, all_tables=<optimized out>) at /export/home/pb2/build/sb_0-15961582-1437395640.67/mysql-5.7.8-rc/sql/sql_parse.cc:4843
#17 0x0000000000c7bdbb in mysql_execute_command (thd=0x7fb39c000b50) at /export/home/pb2/build/sb_0-15961582-1437395640.67/mysql-5.7.8-rc/sql/sql_parse.cc:2521
#18 0x0000000000c7f7e8 in mysql_parse (thd=0x7fb39c000b50, parser_state=<optimized out>) at /export/home/pb2/build/sb_0-15961582-1437395640.67/mysql-5.7.8-rc/sql/sql_parse.cc:5255
#19 0x0000000000c80a82 in dispatch_command (thd=0x7fb39c000b50, com_data=0x7fb3dedb7de0, command=COM_QUERY)
    at /export/home/pb2/build/sb_0-15961582-1437395640.67/mysql-5.7.8-rc/sql/sql_parse.cc:1272
#20 0x0000000000c81c54 in do_command (thd=0x7fb39c000b50) at /export/home/pb2/build/sb_0-15961582-1437395640.67/mysql-5.7.8-rc/sql/sql_parse.cc:852
#21 0x0000000000d486ac in handle_connection (arg=<optimized out>) at /export/home/pb2/build/sb_0-15961582-1437395640.67/mysql-5.7.8-rc/sql/conn_handler/connection_handler_per_thread.cc:300
#22 0x0000000000ee7690 in pfs_spawn_thread (arg=0x45eab90) at /export/home/pb2/build/sb_0-15961582-1437395640.67/mysql-5.7.8-rc/storage/perfschema/pfs.cc:2178
#23 0x00007fb40c013df3 in start_thread () from /lib64/libpthread.so.0
#24 0x00007fb40acdf47d in clone () from /lib64/libc.so.6
[27 Aug 2015 8:04] MySQL Verification Team
// 5.7.9

rm -rf 78235
bin/mysql_install_db --insecure --basedir=/export/umesh/server/binaries/mysql-advanced-5.7.9 --datadir=/export/umesh/server/binaries/mysql-advanced-5.7.9/78235 -v
bin/mysqld --no-defaults --range-alloc-block-size=1125899906842624 --basedir=/export/umesh/server/binaries/mysql-advanced-5.7.9 --datadir=/export/umesh/server/binaries/mysql-advanced-5.7.9/78235 --core-file --socket=/tmp/mysql_ushastry.sock  --port=15000 --log-error=/export/umesh/server/binaries/mysql-advanced-5.7.9/78235/log.err 2>&1 &

[umshastr@hod03]/export/umesh/server/binaries/mysql-advanced-5.7.9: cat docs/INFO_SRC
commit: e4928d41773503a7b93ab0886a1f5efa88a4e4e4
date: 2015-08-26 21:01:11 +0530
build-date: 2015-08-26 18:05:18 +0200
short: e4928d4
branch: mysql-5.7

MySQL source 5.7.9

(gdb) bt
#0  0x00007f24db5d4771 in pthread_kill () from /lib64/libpthread.so.0
#1  0x000000000079f125 in handle_fatal_signal (sig=11) at /export/home2/pb2/build/sb_0-16271286-1440606484.35/mysqlcom-pro-5.7.9/sql/signal_handler.cc:220
#2  <signal handler called>
#3  0x00000000007be951 in Field::optimize_range (this=<optimized out>, idx=0, part=0) at /export/home2/pb2/build/sb_0-16271286-1440606484.35/mysqlcom-pro-5.7.9/sql/field.cc:2127
#4  0x0000000000d77c21 in get_mm_leaf (param=param@entry=0x7f24ae132cd0, conf_func=conf_func@entry=0x7f2468006298, field=0x7f246804be40, key_part=key_part@entry=0x7f246800e980,
    type=type@entry=Item_func::EQ_FUNC, value=value@entry=0x7f2468006190) at /export/home2/pb2/build/sb_0-16271286-1440606484.35/mysqlcom-pro-5.7.9/sql/opt_range.cc:7277
#5  0x0000000000d7be8a in get_mm_parts (param=param@entry=0x7f24ae132cd0, cond_func=cond_func@entry=0x7f2468006298, field=field@entry=0x7f246804be40, type=type@entry=Item_func::EQ_FUNC,
    value=0x7f2468006190, cmp_type=<optimized out>) at /export/home2/pb2/build/sb_0-16271286-1440606484.35/mysqlcom-pro-5.7.9/sql/opt_range.cc:6938
#6  0x0000000000d822df in get_mm_parts (cmp_type=<optimized out>, value=<optimized out>, type=Item_func::EQ_FUNC, field=0x7f246804be40, cond_func=<optimized out>, param=0x7f24ae132cd0)
    at /export/home2/pb2/build/sb_0-16271286-1440606484.35/mysqlcom-pro-5.7.9/sql/opt_range.cc:6202
#7  get_func_mm_tree_from_in_predicate (value=<optimized out>, cmp_type=<optimized out>, is_negated=<optimized out>, op=0x7f2468006298, predicand=<optimized out>, param=0x7f24ae132cd0)
    at /export/home2/pb2/build/sb_0-16271286-1440606484.35/mysqlcom-pro-5.7.9/sql/opt_range.cc:6202
#8  get_func_mm_tree (param=0x7f24ae132cd0, predicand=<optimized out>, cond_func=0x7f2468006298, value=<optimized out>, inv=<optimized out>, cmp_type=<optimized out>)
    at /export/home2/pb2/build/sb_0-16271286-1440606484.35/mysqlcom-pro-5.7.9/sql/opt_range.cc:6349
#9  0x0000000000d82d06 in get_full_func_mm_tree (param=0x7f24ae132cd0, predicand=0x7f2468006ab8, op=0x7f2468006298, value=0x0, inv=false)
    at /export/home2/pb2/build/sb_0-16271286-1440606484.35/mysqlcom-pro-5.7.9/sql/opt_range.cc:6475
#10 0x0000000000d8bee1 in test_quick_select (thd=thd@entry=0x7f2468000b50, keys_to_use=..., prev_tables=prev_tables@entry=0, limit=limit@entry=18446744073709551615,
    force_quick_range=force_quick_range@entry=false, interesting_order=interesting_order@entry=st_order::ORDER_NOT_RELEVANT, tab=tab@entry=0x7f24680071f8, cond=0x7f2468006298,
    needed_reg=needed_reg@entry=0x7f2468007238, quick=quick@entry=0x7f24ae134f80) at /export/home2/pb2/build/sb_0-16271286-1440606484.35/mysqlcom-pro-5.7.9/sql/opt_range.cc:2932
#11 0x0000000000c46a95 in get_quick_record_count (limit=18446744073709551615, tab=0x7f24680071f8, thd=0x7f2468000b50)
    at /export/home2/pb2/build/sb_0-16271286-1440606484.35/mysqlcom-pro-5.7.9/sql/sql_optimizer.cc:5750
#12 JOIN::estimate_rowcount (this=this@entry=0x7f246801bf30) at /export/home2/pb2/build/sb_0-16271286-1440606484.35/mysqlcom-pro-5.7.9/sql/sql_optimizer.cc:5497
#13 0x0000000000c4cba7 in JOIN::make_join_plan (this=this@entry=0x7f246801bf30) at /export/home2/pb2/build/sb_0-16271286-1440606484.35/mysqlcom-pro-5.7.9/sql/sql_optimizer.cc:4854
#14 0x0000000000c4e3bb in JOIN::optimize (this=0x7f246801bf30) at /export/home2/pb2/build/sb_0-16271286-1440606484.35/mysqlcom-pro-5.7.9/sql/sql_optimizer.cc:354
#15 0x0000000000c91385 in st_select_lex::optimize (this=this@entry=0x7f24680054b0, thd=thd@entry=0x7f2468000b50)
    at /export/home2/pb2/build/sb_0-16271286-1440606484.35/mysqlcom-pro-5.7.9/sql/sql_select.cc:1008
#16 0x0000000000c91565 in handle_query (thd=thd@entry=0x7f2468000b50, lex=lex@entry=0x7f2468002c00, result=result@entry=0x7f2468006cb0, added_options=added_options@entry=0,
    removed_options=removed_options@entry=0) at /export/home2/pb2/build/sb_0-16271286-1440606484.35/mysqlcom-pro-5.7.9/sql/sql_select.cc:164
#17 0x00000000007621d6 in execute_sqlcom_select (thd=thd@entry=0x7f2468000b50, all_tables=<optimized out>)
    at /export/home2/pb2/build/sb_0-16271286-1440606484.35/mysqlcom-pro-5.7.9/sql/sql_parse.cc:4941
#18 0x0000000000c56c16 in mysql_execute_command (thd=thd@entry=0x7f2468000b50, first_level=first_level@entry=true)
    at /export/home2/pb2/build/sb_0-16271286-1440606484.35/mysqlcom-pro-5.7.9/sql/sql_parse.cc:2597
#19 0x0000000000c5a515 in mysql_parse (thd=thd@entry=0x7f2468000b50, parser_state=parser_state@entry=0x7f24ae1367b0)
    at /export/home2/pb2/build/sb_0-16271286-1440606484.35/mysqlcom-pro-5.7.9/sql/sql_parse.cc:5350
#20 0x0000000000c5aeba in dispatch_command (thd=thd@entry=0x7f2468000b50, com_data=com_data@entry=0x7f24ae136e00, command=COM_QUERY)
    at /export/home2/pb2/build/sb_0-16271286-1440606484.35/mysqlcom-pro-5.7.9/sql/sql_parse.cc:1284
#21 0x0000000000c5c72f in do_command (thd=thd@entry=0x7f2468000b50) at /export/home2/pb2/build/sb_0-16271286-1440606484.35/mysqlcom-pro-5.7.9/sql/sql_parse.cc:852
#22 0x0000000000d126a0 in handle_connection (arg=arg@entry=0x32c5f80)
    at /export/home2/pb2/build/sb_0-16271286-1440606484.35/mysqlcom-pro-5.7.9/sql/conn_handler/connection_handler_per_thread.cc:300
#23 0x0000000001172850 in pfs_spawn_thread (arg=0x327baf0) at /export/home2/pb2/build/sb_0-16271286-1440606484.35/mysqlcom-pro-5.7.9/storage/perfschema/pfs.cc:2191
#24 0x00007f24db5cfdf3 in start_thread () from /lib64/libpthread.so.0
#25 0x00007f24da09047d in clone () from /lib64/libc.so.6
[28 Aug 2015 10:31] MySQL Verification Team
Just to confirm I've verified on release builds of 5.7.8, 5.7.9
[4 Sep 2015 15:00] Dag Wanvik
Verified duplicate of 78188.