Details
-
Bug
-
Status: Closed (View Workflow)
-
Major
-
Resolution: Fixed
-
10.5
Description
10.5 debug 6be56dd1 |
mysqld: /data/src/10.5/sql/sql_select.cc:21601: int join_read_first(JOIN_TAB*): Assertion `table->no_keyread || !table->covering_keys.is_set(tab->index) || table->file->keyread == tab->index' failed.
|
200330 2:53:04 [ERROR] mysqld got signal 6 ;
|
|
#7 0x00007f7ee5c84f12 in __GI___assert_fail (assertion=0x55d1672aea60 "table->no_keyread || !table->covering_keys.is_set(tab->index) || table->file->keyread == tab->index", file=0x55d1672ac238 "/data/src/10.5/sql/sql_select.cc", line=21601, function=0x55d1672b2450 <join_read_first(st_join_table*)::__PRETTY_FUNCTION__> "int join_read_first(JOIN_TAB*)") at assert.c:101
|
#8 0x000055d166577843 in join_read_first (tab=0x7f7ea00152e8) at /data/src/10.5/sql/sql_select.cc:21599
|
#9 0x000055d166575062 in sub_select (join=0x7f7ea0013e50, join_tab=0x7f7ea00152e8, end_of_records=false) at /data/src/10.5/sql/sql_select.cc:20597
|
#10 0x000055d166574523 in do_select (join=0x7f7ea0013e50, procedure=0x0) at /data/src/10.5/sql/sql_select.cc:20134
|
#11 0x000055d166548399 in JOIN::exec_inner (this=0x7f7ea0013e50) at /data/src/10.5/sql/sql_select.cc:4459
|
#12 0x000055d1665474c5 in JOIN::exec (this=0x7f7ea0013e50) at /data/src/10.5/sql/sql_select.cc:4240
|
#13 0x000055d166548bf6 in mysql_select (thd=0x7f7ea0000b18, tables=0x7f7ea0012be8, fields=..., conds=0x0, og_num=1, order=0x7f7ea0013c48, group=0x0, having=0x0, proc_param=0x0, select_options=2147748609, result=0x7f7ea0013e28, unit=0x7f7ea0004b20, select_lex=0x7f7ea00125e0) at /data/src/10.5/sql/sql_select.cc:4664
|
#14 0x000055d166538766 in handle_select (thd=0x7f7ea0000b18, lex=0x7f7ea0004a58, result=0x7f7ea0013e28, setup_tables_done_option=0) at /data/src/10.5/sql/sql_select.cc:429
|
#15 0x000055d1664fd992 in execute_sqlcom_select (thd=0x7f7ea0000b18, all_tables=0x7f7ea0012be8) at /data/src/10.5/sql/sql_parse.cc:6168
|
#16 0x000055d1664f444c in mysql_execute_command (thd=0x7f7ea0000b18) at /data/src/10.5/sql/sql_parse.cc:3901
|
#17 0x000055d1665028cc in mysql_parse (thd=0x7f7ea0000b18, rawbuf=0x7f7ea0012510 "SELECT DISTINCT col_char FROM t1 ORDER BY col_varchar", length=53, parser_state=0x7f7ee4201520, is_com_multi=false, is_next_command=false) at /data/src/10.5/sql/sql_parse.cc:7953
|
#18 0x000055d1664ee11d in dispatch_command (command=COM_QUERY, thd=0x7f7ea0000b18, packet=0x7f7ea0008579 "", packet_length=53, is_com_multi=false, is_next_command=false) at /data/src/10.5/sql/sql_parse.cc:1840
|
#19 0x000055d1664ec853 in do_command (thd=0x7f7ea0000b18) at /data/src/10.5/sql/sql_parse.cc:1359
|
#20 0x000055d16668efc5 in do_handle_one_connection (connect=0x55d169f1ce78, put_in_cache=true) at /data/src/10.5/sql/sql_connect.cc:1422
|
#21 0x000055d16668ecf4 in handle_one_connection (arg=0x55d169f1ce78) at /data/src/10.5/sql/sql_connect.cc:1319
|
#22 0x000055d166bc2950 in pfs_spawn_thread (arg=0x55d169f41328) at /data/src/10.5/storage/perfschema/pfs.cc:2201
|
#23 0x00007f7ee7c0d4a4 in start_thread (arg=0x7f7ee4202700) at pthread_create.c:456
|
#24 0x00007f7ee5d41d0f in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:97
|
To reproduce from scratch:
- start 10.1 server with --innodb-page-size=32K, other options can be left default;
- run on 10.1 server
DROP TABLE IF EXISTS t1;
CREATE TABLE t1 (
`col_char` binary(2),
`id` int,
`col_blob` mediumblob,
`col_varchar` varbinary(130),
PRIMARY KEY (`col_varchar`,`col_char`,`id`),
KEY `id` (`id`)
) ENGINE=InnoDB;
INSERT INTO t1 VALUES (NULL,1,NULL,''),(NULL,2,NULL,'');
- shut down the server normally;
- start 10.5 debug server on the same datadir, with --innodb-page-size=32K, otherwise defaults;
- (optionally, it does not change the outcome) run mysql_upgrade;
- run on 10.5 server
SELECT DISTINCT col_char FROM test.t1 ORDER BY col_varchar;
Alternatively, a datadir pre-created on 10.1 server as described above is attached. Unpack, start 10.5 debug server on it with innodb-page-size=32K and run the SELECT above.
No crash on a non-debug build, but possibly there can be side-effects later.
The failure appeared in 10.5 branch after this commit:
commit eb483c5181ab430877c135c16224284cfc517b3d
|
Author: Monty <monty@mariadb.org>
|
Date: Fri Feb 28 12:59:30 2020 +0200
|
|
Updated optimizer costs in multi_range_read_info_const() and sql_select.cc
|
Attachments
Issue Links
- relates to
-
MDEV-22062 Assertion `!table->file->keyread_enabled()' failed in close_thread_table
- Closed