|
I can reproduce this problem without system versioning and also on lower versions (I tried on 10.2)
CREATE TABLE t1 (a INT);
|
INSERT INTO t1 VALUES (1),(2),(3),(4),(5),(6),(7),(8);
|
INSERT INTO t1 SELECT * FROM t1;
|
INSERT INTO t1 VALUES (1),(2),(3),(4);
|
SET optimizer_use_condition_selectivity=4;
|
SET histogram_size= 5;
|
SET histogram_type= DOUBLE_PREC_HB;
|
SET use_stat_tables='preferably';
|
ANALYZE TABLE t1 PERSISTENT FOR ALL;
|
SELECT * from t1 where a=10;
|
|
|
Slightly different stack (Histogram::range_selectivity instead of Histogram::point_selectivity) and alternative testcase:
SET use_stat_tables=PREFERABLY;
|
SET SESSION histogram_size=1;
|
CREATE TABLE t (c1 INT NOT NULL, c2 CHAR (5)) PARTITION BY HASH (c1);
|
INSERT INTO t VALUES (1,'a');
|
ANALYZE TABLE t;
|
SELECT * FROM t WHERE c2 >= '2000-00-01 00:00:00' AND c2 < '2020-10-10 00:00:00';
|
Leads to:
|
10.5.6 2bac9782aa81ad386beaf00eb126ccf2d15031a1 (Debug)
|
mysqld: /test/10.5_dbg/sql/sql_statistics.h:177: uint Histogram::get_value(uint): Assertion `i < get_width()' failed.
|
|
10.5.6 2bac9782aa81ad386beaf00eb126ccf2d15031a1 (Debug)
|
Core was generated by `/test/MD150920-mariadb-10.5.6-linux-x86_64-dbg/bin/mysqld --no-defaults --core-'.
|
Program terminated with signal SIGABRT, Aborted.
|
#0 __pthread_kill (threadid=<optimized out>, signo=signo@entry=6)
|
at ../sysdeps/unix/sysv/linux/pthread_kill.c:57
|
[Current thread is 1 (Thread 0x14cc7a73a700 (LWP 540825))]
|
(gdb) bt
|
#0 __pthread_kill (threadid=<optimized out>, signo=signo@entry=6) at ../sysdeps/unix/sysv/linux/pthread_kill.c:57
|
#1 0x000055b5bfba985a in my_write_core (sig=sig@entry=6) at /test/10.5_dbg/mysys/stacktrace.c:424
|
#2 0x000055b5bf3703a9 in handle_fatal_signal (sig=6) at /test/10.5_dbg/sql/signal_handler.cc:330
|
#3 <signal handler called>
|
#4 __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:51
|
#5 0x000014cc789d08b1 in __GI_abort () at abort.c:79
|
#6 0x000014cc789c042a in __assert_fail_base (fmt=0x14cc78b47a38 "%s%s%s:%u: %s%sAssertion `%s' failed.\n%n", assertion=assertion@entry=0x55b5bfd42a04 "i < get_width()", file=file@entry=0x55b5bfd42a18 "/test/10.5_dbg/sql/sql_statistics.h", line=line@entry=177, function=function@entry=0x55b5bfd42ca0 <Histogram::get_value(unsigned int)::__PRETTY_FUNCTION__> "uint Histogram::get_value(uint)") at assert.c:92
|
#7 0x000014cc789c04a2 in __GI___assert_fail (assertion=assertion@entry=0x55b5bfd42a04 "i < get_width()", file=file@entry=0x55b5bfd42a18 "/test/10.5_dbg/sql/sql_statistics.h", line=line@entry=177, function=function@entry=0x55b5bfd42ca0 <Histogram::get_value(unsigned int)::__PRETTY_FUNCTION__> "uint Histogram::get_value(uint)") at assert.c:101
|
#8 0x000055b5bf1794b0 in Histogram::get_value (i=0, this=0x14cc56c57148) at /test/10.5_dbg/sql/sql_statistics.h:177
|
#9 Histogram::find_bucket (this=this@entry=0x14cc56c57148, pos=pos@entry=0, first=first@entry=true) at /test/10.5_dbg/sql/sql_statistics.h:207
|
#10 0x000055b5bf17630a in Histogram::range_selectivity (max_pos=0, min_pos=0, this=0x14cc56c57148) at /test/10.5_dbg/sql/sql_statistics.h:270
|
#11 get_column_range_cardinality (field=field@entry=0x14cc56c576c8, min_endp=min_endp@entry=0x14cc7a737580, max_endp=max_endp@entry=0x14cc7a7375a0, range_flag=range_flag@entry=4) at /test/10.5_dbg/sql/sql_statistics.cc:3836
|
#12 0x000055b5bf50e322 in records_in_column_ranges (tree=0x14cc56d90238, idx=0, param=0x14cc7a737af0) at /test/10.5_dbg/sql/opt_range.cc:3251
|
#13 calculate_cond_selectivity_for_table (thd=0x14cc56c15088, table=0x14cc56c51188, cond=cond@entry=0x14cc56c765f8) at /test/10.5_dbg/sql/opt_range.cc:3514
|
#14 0x000055b5bf13b739 in make_join_statistics (keyuse_array=0x14cc56c764d8, tables_list=<optimized out>, join=0x14cc56c761e8) at /test/10.5_dbg/sql/sql_select.cc:5460
|
#15 JOIN::optimize_inner (this=this@entry=0x14cc56c761e8) at /test/10.5_dbg/sql/sql_select.cc:2247
|
#16 0x000055b5bf13c3b3 in JOIN::optimize (this=this@entry=0x14cc56c761e8) at /test/10.5_dbg/sql/sql_select.cc:1623
|
#17 0x000055b5bf13cd40 in mysql_select (thd=thd@entry=0x14cc56c15088, tables=<optimized out>, fields=@0x14cc56c742f8: {<base_list> = {<Sql_alloc> = {<No data fields>}, first = 0x14cc56c74758, last = 0x14cc56c76a20, elements = 2}, <No data fields>}, conds=0x14cc56c75718, og_num=0, order=<optimized out>, group=0x0, having=0x0, proc_param=0x0, select_options=2147748608, result=0x14cc56c761c0, unit=0x14cc56c19220, select_lex=0x14cc56c741a8) at /test/10.5_dbg/sql/sql_select.cc:4649
|
#18 0x000055b5bf13d0bc in handle_select (thd=thd@entry=0x14cc56c15088, lex=lex@entry=0x14cc56c19158, result=result@entry=0x14cc56c761c0, setup_tables_done_option=setup_tables_done_option@entry=0) at /test/10.5_dbg/sql/sql_select.cc:417
|
#19 0x000055b5bf0c4348 in execute_sqlcom_select (thd=thd@entry=0x14cc56c15088, all_tables=0x14cc56c747a0) at /test/10.5_dbg/sql/sql_parse.cc:6210
|
#20 0x000055b5bf0bd41c in mysql_execute_command (thd=thd@entry=0x14cc56c15088) at /test/10.5_dbg/sql/sql_parse.cc:3932
|
#21 0x000055b5bf0ca324 in mysql_parse (thd=thd@entry=0x14cc56c15088, rawbuf=<optimized out>, length=<optimized out>, parser_state=parser_state@entry=0x14cc7a739350, is_com_multi=is_com_multi@entry=false, is_next_command=is_next_command@entry=false) at /test/10.5_dbg/sql/sql_parse.cc:7994
|
#22 0x000055b5bf0b6d54 in dispatch_command (command=command@entry=COM_QUERY, thd=thd@entry=0x14cc56c15088, packet=packet@entry=0x14cc56c67089 "SELECT * FROM t WHERE c2 >= '2000-00-01 00:00:00' AND c2 < '2020-10-10 00:00:00'", packet_length=packet_length@entry=80, is_com_multi=is_com_multi@entry=false, is_next_command=is_next_command@entry=false) at /test/10.5_dbg/sql/sql_parse.cc:1867
|
#23 0x000055b5bf0b553e in do_command (thd=0x14cc56c15088) at /test/10.5_dbg/sql/sql_parse.cc:1348
|
#24 0x000055b5bf214893 in do_handle_one_connection (connect=<optimized out>, connect@entry=0x14cc598d4808, put_in_cache=put_in_cache@entry=true) at /test/10.5_dbg/sql/sql_connect.cc:1410
|
#25 0x000055b5bf214fb7 in handle_one_connection (arg=arg@entry=0x14cc598d4808) at /test/10.5_dbg/sql/sql_connect.cc:1312
|
#26 0x000055b5bf67f5c2 in pfs_spawn_thread (arg=0x14cc77446508) at /test/10.5_dbg/storage/perfschema/pfs.cc:2201
|
#27 0x000014cc796b36db in start_thread (arg=0x14cc7a73a700) at pthread_create.c:463
|
#28 0x000014cc78ab1a3f in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95
|
Bug confirmed present in:
MariaDB: 10.4.15 (dbg), 10.5.6 (dbg), 10.6.0 (dbg)
Bug confirmed not present in:
MariaDB: 10.1.47 (dbg), 10.1.47 (opt), 10.2.34 (dbg), 10.2.34 (opt), 10.3.25 (dbg), 10.3.25 (opt), 10.4.15 (opt), 10.5.6 (opt), 10.6.0 (opt)
MySQL: 5.5.62 (dbg), 5.5.62 (opt), 5.6.49 (dbg), 5.6.49 (opt), 5.7.31 (dbg), 5.7.31 (opt), 8.0.21 (dbg), 8.0.21 (opt)
|
|
Two new stacks with this testcase. This testcase is 10.4+ only.
SET histogram_size=1,use_stat_tables=PREFERABLY;
|
CREATE TABLE t (c INT);
|
INSERT INTO t VALUES (0);
|
ANALYZE TABLE t;
|
SELECT * FROM t WHERE c<1;
|
Leads to:
|
10.9.0 b5852ffbeebc3000982988383daeefb0549e058a (Debug)
|
mysqld: /test/10.9_dbg/sql/sql_statistics.h:259: uint Histogram_binary::get_value(uint): Assertion `i < get_width()' failed.
|
|
10.9.0 b5852ffbeebc3000982988383daeefb0549e058a (Debug)
|
Core was generated by `/test/MD140222-mariadb-10.9.0-linux-x86_64-dbg/bin/mysqld --no-defaults --core-'.
|
Program terminated with signal SIGABRT, Aborted.
|
#0 __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:50
|
[Current thread is 1 (Thread 0x14aa841e9700 (LWP 2923417))]
|
(gdb) bt
|
#0 __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:50
|
#1 0x000014aaa429f859 in __GI_abort () at abort.c:79
|
#2 0x000014aaa429f729 in __assert_fail_base (fmt=0x14aaa4435588 "%s%s%s:%u: %s%sAssertion `%s' failed.\n%n", assertion=0x555b5427b457 "i < get_width()", file=0x555b5427ad08 "/test/10.9_dbg/sql/sql_statistics.h", line=259, function=<optimized out>) at assert.c:92
|
#3 0x000014aaa42b0f36 in __GI___assert_fail (assertion=assertion@entry=0x555b5427b457 "i < get_width()", file=file@entry=0x555b5427ad08 "/test/10.9_dbg/sql/sql_statistics.h", line=line@entry=259, function=function@entry=0x555b5427b430 "uint Histogram_binary::get_value(uint)") at assert.c:101
|
#4 0x0000555b5365de65 in Histogram_binary::get_value (i=<optimized out>, this=0x14aa00020880) at /test/10.9_dbg/sql/sql_statistics.h:259
|
#5 Histogram_binary::find_bucket (this=this@entry=0x14aa00020880, pos=pos@entry=0, first=first@entry=true) at /test/10.9_dbg/sql/sql_statistics.h:291
|
#6 0x0000555b53653ed1 in Histogram_binary::range_selectivity (this=0x14aa00020880, field=<optimized out>, min_endp=<optimized out>, max_endp=0x14aa841e6790, avg_sel=1) at /test/10.9_dbg/sql/sql_statistics.cc:4106
|
#7 0x0000555b5365abf6 in get_column_range_cardinality (field=field@entry=0x14aa00028e18, min_endp=min_endp@entry=0x14aa841e6770, max_endp=max_endp@entry=0x14aa841e6790, range_flag=range_flag@entry=4) at /test/10.9_dbg/sql/sql_statistics.cc:3916
|
#8 0x0000555b53469064 in records_in_column_ranges (tree=0x14aa00081150, idx=0, param=0x14aa841e6df0) at /test/10.9_dbg/sql/opt_range.cc:3279
|
#9 calculate_cond_selectivity_for_table (thd=0x14aa00000db8, table=0x14aa0006e498, cond=cond@entry=0x14aa00015cb8) at /test/10.9_dbg/sql/opt_range.cc:3562
|
#10 0x0000555b53619758 in make_join_statistics (join=join@entry=0x14aa00015868, tables_list=@0x14aa00014088: {<base_list> = {<Sql_alloc> = {<No data fields>}, first = 0x14aa00015e20, last = 0x14aa00015e20, elements = 1}, <No data fields>}, keyuse_array=keyuse_array@entry=0x14aa00015b88) at /test/10.9_dbg/sql/sql_select.cc:5806
|
#11 0x0000555b53620e50 in JOIN::optimize_inner (this=this@entry=0x14aa00015868) at /test/10.9_dbg/sql/sql_select.cc:2466
|
#12 0x0000555b536211dc in JOIN::optimize (this=this@entry=0x14aa00015868) at /test/10.9_dbg/sql/sql_select.cc:1808
|
#13 0x0000555b53621880 in mysql_select (thd=thd@entry=0x14aa00000db8, tables=0x14aa00014448, fields=@0x14aa00014110: {<base_list> = {<Sql_alloc> = {<No data fields>}, first = 0x14aa00014400, last = 0x14aa00014400, elements = 1}, <No data fields>}, conds=0x14aa00014ce0, og_num=0, order=0x0, group=0x0, having=0x0, proc_param=0x0, select_options=2147748608, result=0x14aa00015840, unit=0x14aa000051c8, select_lex=0x14aa00013e70) at /test/10.9_dbg/sql/sql_select.cc:4993
|
#14 0x0000555b53621b84 in handle_select (thd=thd@entry=0x14aa00000db8, lex=lex@entry=0x14aa000050f0, result=result@entry=0x14aa00015840, setup_tables_done_option=setup_tables_done_option@entry=0) at /test/10.9_dbg/sql/sql_select.cc:543
|
#15 0x0000555b53581124 in execute_sqlcom_select (thd=thd@entry=0x14aa00000db8, all_tables=0x14aa00014448) at /test/10.9_dbg/sql/sql_parse.cc:6252
|
#16 0x0000555b5358e08b in mysql_execute_command (thd=thd@entry=0x14aa00000db8, is_called_from_prepared_stmt=is_called_from_prepared_stmt@entry=false) at /test/10.9_dbg/sql/sql_parse.cc:3943
|
#17 0x0000555b5357a315 in mysql_parse (thd=thd@entry=0x14aa00000db8, rawbuf=<optimized out>, length=<optimized out>, parser_state=parser_state@entry=0x14aa841e8400) at /test/10.9_dbg/sql/sql_parse.cc:8027
|
#18 0x0000555b53588fb1 in dispatch_command (command=command@entry=COM_QUERY, thd=thd@entry=0x14aa00000db8, packet=packet@entry=0x14aa0000b889 "SELECT * FROM t WHERE c<1", packet_length=packet_length@entry=25, blocking=blocking@entry=true) at /test/10.9_dbg/sql/sql_class.h:1362
|
#19 0x0000555b5358c3f8 in do_command (thd=0x14aa00000db8, blocking=blocking@entry=true) at /test/10.9_dbg/sql/sql_parse.cc:1402
|
#20 0x0000555b53706fc4 in do_handle_one_connection (connect=<optimized out>, connect@entry=0x555b560fe478, put_in_cache=put_in_cache@entry=true) at /test/10.9_dbg/sql/sql_connect.cc:1418
|
#21 0x0000555b537075c9 in handle_one_connection (arg=arg@entry=0x555b560fe478) at /test/10.9_dbg/sql/sql_connect.cc:1312
|
#22 0x0000555b53b8dd67 in pfs_spawn_thread (arg=0x555b560115d8) at /test/10.9_dbg/storage/perfschema/pfs.cc:2201
|
#23 0x000014aaa47ae609 in start_thread (arg=<optimized out>) at pthread_create.c:477
|
#24 0x000014aaa439c293 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95
|
|
10.7.2 3351dfaab0599268eaf25f9d6995ef128910a8b9 (Debug)
|
mysqld: /test/10.7_dbg/sql/sql_statistics.h:177: uint Histogram::get_value(uint): Assertion `i < get_width()' failed.
|
|
10.7.2 3351dfaab0599268eaf25f9d6995ef128910a8b9 (Debug)
|
Core was generated by `/test/MD290122-mariadb-10.7.2-linux-x86_64-dbg/bin/mysqld --no-defaults --core-'.
|
Program terminated with signal SIGABRT, Aborted.
|
#0 __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:50
|
[Current thread is 1 (Thread 0x145c8c9d5700 (LWP 2923690))]
|
(gdb) bt
|
#0 __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:50
|
#1 0x0000145c96c39859 in __GI_abort () at abort.c:79
|
#2 0x0000145c96c39729 in __assert_fail_base (fmt=0x145c96dcf588 "%s%s%s:%u: %s%sAssertion `%s' failed.\n%n", assertion=0x557282c73e44 "i < get_width()", file=0x557282c73e58 "/test/10.7_dbg/sql/sql_statistics.h", line=177, function=<optimized out>) at assert.c:92
|
#3 0x0000145c96c4af36 in __GI___assert_fail (assertion=assertion@entry=0x557282c73e44 "i < get_width()", file=file@entry=0x557282c73e58 "/test/10.7_dbg/sql/sql_statistics.h", line=line@entry=177, function=function@entry=0x557282c73e80 "uint Histogram::get_value(uint)") at assert.c:101
|
#4 0x0000557282064246 in Histogram::get_value (i=<optimized out>, this=0x145c0c080ce8) at /test/10.7_dbg/sql/sql_statistics.h:167
|
#5 Histogram::find_bucket (this=this@entry=0x145c0c080ce8, pos=pos@entry=0, first=first@entry=true) at /test/10.7_dbg/sql/sql_statistics.h:207
|
#6 0x0000557282061271 in Histogram::range_selectivity (max_pos=1, min_pos=0, this=0x145c0c080ce8) at /test/10.7_dbg/sql/sql_statistics.h:281
|
#7 get_column_range_cardinality (field=field@entry=0x145c0c028de8, min_endp=min_endp@entry=0x145c8c9d2880, max_endp=max_endp@entry=0x145c8c9d28a0, range_flag=range_flag@entry=4) at /test/10.7_dbg/sql/sql_statistics.cc:3824
|
#8 0x0000557281e60934 in records_in_column_ranges (tree=0x145c0c081150, idx=0, param=0x145c8c9d2df0) at /test/10.7_dbg/sql/opt_range.cc:3273
|
#9 calculate_cond_selectivity_for_table (thd=0x145c0c000db8, table=0x145c0c06e268, cond=cond@entry=0x145c0c015ca8) at /test/10.7_dbg/sql/opt_range.cc:3536
|
#10 0x000055728201f4b0 in make_join_statistics (join=join@entry=0x145c0c015858, tables_list=@0x145c0c014078: {<base_list> = {<Sql_alloc> = {<No data fields>}, first = 0x145c0c015e10, last = 0x145c0c015e10, elements = 1}, <No data fields>}, keyuse_array=keyuse_array@entry=0x145c0c015b78) at /test/10.7_dbg/sql/sql_select.cc:5792
|
#11 0x0000557282026b7b in JOIN::optimize_inner (this=this@entry=0x145c0c015858) at /test/10.7_dbg/sql/sql_select.cc:2453
|
#12 0x0000557282026f06 in JOIN::optimize (this=this@entry=0x145c0c015858) at /test/10.7_dbg/sql/sql_select.cc:1809
|
#13 0x00005572820275aa in mysql_select (thd=thd@entry=0x145c0c000db8, tables=0x145c0c014438, fields=@0x145c0c014100: {<base_list> = {<Sql_alloc> = {<No data fields>}, first = 0x145c0c0143f0, last = 0x145c0c0143f0, elements = 1}, <No data fields>}, conds=0x145c0c014cd0, og_num=0, order=0x0, group=0x0, having=0x0, proc_param=0x0, select_options=2147748608, result=0x145c0c015830, unit=0x145c0c0051c0, select_lex=0x145c0c013e60) at /test/10.7_dbg/sql/sql_select.cc:4979
|
#14 0x00005572820278ae in handle_select (thd=thd@entry=0x145c0c000db8, lex=lex@entry=0x145c0c0050e8, result=result@entry=0x145c0c015830, setup_tables_done_option=setup_tables_done_option@entry=0) at /test/10.7_dbg/sql/sql_select.cc:545
|
#15 0x0000557281f86d26 in execute_sqlcom_select (thd=thd@entry=0x145c0c000db8, all_tables=0x145c0c014438) at /test/10.7_dbg/sql/sql_parse.cc:6252
|
#16 0x0000557281f93c8d in mysql_execute_command (thd=thd@entry=0x145c0c000db8, is_called_from_prepared_stmt=is_called_from_prepared_stmt@entry=false) at /test/10.7_dbg/sql/sql_parse.cc:3943
|
#17 0x0000557281f7ff17 in mysql_parse (thd=thd@entry=0x145c0c000db8, rawbuf=<optimized out>, length=<optimized out>, parser_state=parser_state@entry=0x145c8c9d4400) at /test/10.7_dbg/sql/sql_parse.cc:8027
|
#18 0x0000557281f8ebb3 in dispatch_command (command=command@entry=COM_QUERY, thd=thd@entry=0x145c0c000db8, packet=packet@entry=0x145c0c00b879 "SELECT * FROM t WHERE c<1", packet_length=packet_length@entry=25, blocking=blocking@entry=true) at /test/10.7_dbg/sql/sql_class.h:1360
|
#19 0x0000557281f91ffa in do_command (thd=0x145c0c000db8, blocking=blocking@entry=true) at /test/10.7_dbg/sql/sql_parse.cc:1402
|
#20 0x000055728210ba44 in do_handle_one_connection (connect=<optimized out>, connect@entry=0x557285430228, put_in_cache=put_in_cache@entry=true) at /test/10.7_dbg/sql/sql_connect.cc:1418
|
#21 0x000055728210c049 in handle_one_connection (arg=arg@entry=0x557285430228) at /test/10.7_dbg/sql/sql_connect.cc:1312
|
#22 0x000055728258c8b0 in pfs_spawn_thread (arg=0x557285343cc8) at /test/10.7_dbg/storage/perfschema/pfs.cc:2201
|
#23 0x0000145c97148609 in start_thread (arg=<optimized out>) at pthread_create.c:477
|
#24 0x0000145c96d36293 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95
|
Bug confirmed present in:
MariaDB: 10.4.23 (dbg), 10.5.14 (dbg), 10.6.6 (dbg), 10.7.2 (dbg), 10.8.1 (dbg), 10.9.0 (dbg)
Bug (or feature/syntax) confirmed not present in:
MariaDB: 10.2.42 (dbg), 10.2.42 (opt), 10.3.33 (dbg), 10.3.33 (opt), 10.4.23 (opt), 10.5.14 (opt), 10.6.6 (opt), 10.7.2 (opt), 10.8.1 (opt), 10.9.0 (opt)
MySQL: 5.5.62 (dbg), 5.5.62 (opt), 5.6.51 (dbg), 5.6.51 (opt), 5.7.36 (dbg), 5.7.36 (opt), 8.0.27 (dbg), 8.0.27 (opt)
|
|
Another stack with this testcase:
SET histogram_size=5;
|
CREATE TABLE t (c INT) ENGINE=InnoDB;
|
INSERT INTO t VALUES (10),(20);
|
INSERT INTO t (c) VALUES (10);
|
INSERT INTO t (c) VALUES (0),(1),(2),(3),(4),(5),(6),(7),(8),(9);
|
ANALYZE TABLE t PERSISTENT FOR ALL;
|
SELECT + 1 FROM t WHERE c='100001';
|
Leads to:
|
10.10.6 b1b47264d2ef1fa80b90f308e81c49d9a1011d56 (Debug)
|
mariadbd: /test/10.10_dbg/sql/sql_statistics.h:259: uint Histogram_binary::get_value(uint): Assertion `i < get_width()' failed.
|
|
10.10.6 b1b47264d2ef1fa80b90f308e81c49d9a1011d56 (Debug)
|
Core was generated by `/test/MD010823-mariadb-10.10.6-linux-x86_64-dbg/bin/mariadbd --no-defaults --co'.
|
Program terminated with signal SIGABRT, Aborted.
|
#0 __pthread_kill_implementation (no_tid=0, signo=6, threadid=22486008555072)
|
at ./nptl/pthread_kill.c:44
|
[Current thread is 1 (Thread 0x14736e8d6640 (LWP 2806787))]
|
(gdb) bt
|
#0 __pthread_kill_implementation (no_tid=0, signo=6, threadid=22486008555072) at ./nptl/pthread_kill.c:44
|
#1 __pthread_kill_internal (signo=6, threadid=22486008555072) at ./nptl/pthread_kill.c:78
|
#2 __GI___pthread_kill (threadid=22486008555072, signo=signo@entry=6) at ./nptl/pthread_kill.c:89
|
#3 0x000014739cc42476 in __GI_raise (sig=sig@entry=6) at ../sysdeps/posix/raise.c:26
|
#4 0x000014739cc287f3 in __GI_abort () at ./stdlib/abort.c:79
|
#5 0x000014739cc2871b in __assert_fail_base (fmt=0x14739cddd150 "%s%s%s:%u: %s%sAssertion `%s' failed.\n%n", assertion=0x563307015c57 "i < get_width()", file=0x563307015708 "/test/10.10_dbg/sql/sql_statistics.h", line=259, function=<optimized out>) at ./assert/assert.c:92
|
#6 0x000014739cc39e96 in __GI___assert_fail (assertion=0x563307015c57 "i < get_width()", file=0x563307015708 "/test/10.10_dbg/sql/sql_statistics.h", line=259, function=0x563307015c30 "uint Histogram_binary::get_value(uint)") at ./assert/assert.c:101
|
#7 0x000056330658354d in Histogram_binary::get_value (i=2, this=0x1472fc0524a0) at /test/10.10_dbg/sql/sql_statistics.h:259
|
#8 Histogram_binary::find_bucket (this=this@entry=0x1472fc0524a0, pos=pos@entry=1, first=first@entry=true) at /test/10.10_dbg/sql/sql_statistics.h:285
|
#9 0x000056330657bf43 in Histogram_binary::point_selectivity (this=0x1472fc0524a0, field=<optimized out>, endpoint=0x14736e8d35e0, avg_sel=0.083330769230769222) at /test/10.10_dbg/sql/sql_statistics.cc:3998
|
#10 0x0000563306580652 in get_column_range_cardinality (field=field@entry=0x1472fc026888, min_endp=min_endp@entry=0x14736e8d35e0, max_endp=max_endp@entry=0x14736e8d3600, range_flag=range_flag@entry=48) at /test/10.10_dbg/sql/sql_statistics.cc:3894
|
#11 0x00005633063ca1fb in records_in_column_ranges (tree=0x1472fc078730, idx=0, param=0x14736e8d3c60) at /test/10.10_dbg/sql/opt_range.cc:3281
|
#12 calculate_cond_selectivity_for_table (thd=0x1472fc000d58, table=0x1472fc025bd8, cond=cond@entry=0x1472fc0150f8) at /test/10.10_dbg/sql/opt_range.cc:3566
|
#13 0x0000563306546b95 in make_join_statistics (join=join@entry=0x1472fc014c70, tables_list=@0x1472fc013470: {<base_list> = {<Sql_alloc> = {<No data fields>}, first = 0x1472fc015408, last = 0x1472fc015408, elements = 1}, <No data fields>}, keyuse_array=keyuse_array@entry=0x1472fc014fc8) at /test/10.10_dbg/sql/sql_select.cc:5933
|
#14 0x000056330654de1e in JOIN::optimize_inner (this=this@entry=0x1472fc014c70) at /test/10.10_dbg/sql/sql_select.cc:2559
|
#15 0x000056330654e312 in JOIN::optimize (this=this@entry=0x1472fc014c70) at /test/10.10_dbg/sql/sql_select.cc:1895
|
#16 0x000056330654e402 in mysql_select (thd=thd@entry=0x1472fc000d58, tables=0x1472fc0137d8, fields=@0x1472fc013510: {<base_list> = {<Sql_alloc> = {<No data fields>}, first = 0x1472fc013790, last = 0x1472fc013790, elements = 1}, <No data fields>}, conds=0x1472fc0140b0, og_num=0, order=0x0, group=0x0, having=0x0, proc_param=0x0, select_options=2164525824, result=0x1472fc014c48, unit=0x1472fc004fd0, select_lex=0x1472fc013258) at /test/10.10_dbg/sql/sql_select.cc:5098
|
#17 0x000056330654ebc8 in handle_select (thd=thd@entry=0x1472fc000d58, lex=lex@entry=0x1472fc004ef8, result=result@entry=0x1472fc014c48, setup_tables_done_option=setup_tables_done_option@entry=0) at /test/10.10_dbg/sql/sql_select.cc:586
|
#18 0x00005633064b7b52 in execute_sqlcom_select (thd=thd@entry=0x1472fc000d58, all_tables=0x1472fc0137d8) at /test/10.10_dbg/sql/sql_parse.cc:6278
|
#19 0x00005633064c2f7c in mysql_execute_command (thd=thd@entry=0x1472fc000d58, is_called_from_prepared_stmt=is_called_from_prepared_stmt@entry=false) at /test/10.10_dbg/sql/sql_parse.cc:3948
|
#20 0x00005633064ca2f5 in mysql_parse (thd=thd@entry=0x1472fc000d58, rawbuf=<optimized out>, length=<optimized out>, parser_state=parser_state@entry=0x14736e8d5200) at /test/10.10_dbg/sql/sql_parse.cc:8046
|
#21 0x00005633064cc489 in dispatch_command (command=command@entry=COM_QUERY, thd=thd@entry=0x1472fc000d58, packet=packet@entry=0x1472fc00ae79 "SELECT + 1 FROM t WHERE c='100001'", packet_length=packet_length@entry=34, blocking=blocking@entry=true) at /test/10.10_dbg/sql/sql_class.h:244
|
#22 0x00005633064ce364 in do_command (thd=0x1472fc000d58, blocking=blocking@entry=true) at /test/10.10_dbg/sql/sql_parse.cc:1407
|
#23 0x000056330661b3c2 in do_handle_one_connection (connect=<optimized out>, connect@entry=0x563309e04188, put_in_cache=put_in_cache@entry=true) at /test/10.10_dbg/sql/sql_connect.cc:1416
|
#24 0x000056330661b621 in handle_one_connection (arg=0x563309e04188) at /test/10.10_dbg/sql/sql_connect.cc:1318
|
#25 0x000014739cc94b43 in start_thread (arg=<optimized out>) at ./nptl/pthread_create.c:442
|
#26 0x000014739cd26a00 in clone3 () at ../sysdeps/unix/sysv/linux/x86_64/clone3.S:81
|
10.6-10.11 affected (with two different stacks), debug only.
|