Details
-
Bug
-
Status: Open (View Workflow)
-
Major
-
Resolution: Unresolved
-
5.5(EOL), 10.1(EOL), 10.2(EOL), 10.3(EOL), 10.4(EOL), 10.5
-
None
Description
--source include/have_partition.inc
|
|
CREATE TABLE t1 ( |
pk integer auto_increment, |
a int, |
b varchar(1024), |
primary key (pk) |
) ENGINE=Aria;
|
INSERT INTO t1 (a,b) VALUES (1,'b'),(2,'j'),(3,'p'),(4,'u'),(5,'b'),(6,'i'), (7,'f'),(8,'f'),(9,'t'); |
|
CREATE TABLE t2 ( |
pk integer auto_increment, |
c varchar(10), |
key (c), |
primary key (pk) |
) ENGINE=Aria PARTITION BY HASH(pk) PARTITIONS 4; |
INSERT INTO t2 (c) VALUES ('g'),('o'),('t'),('b'),('j'); |
|
SELECT t1.pk FROM t1 JOIN t2 WHERE b = c AND (t2.pk = a OR t2.pk = 4); |
|
# Cleanup
|
DROP TABLE t1, t2; |
10.3 39d8652c non-debug |
mysqltest: At line 19: query 'SELECT t1.pk FROM t1 JOIN t2 WHERE b = c AND (t2.pk = a OR t2.pk = 4)' failed: 1030: Got error 175 "File too short; Expected more data in file" from storage engine Aria
|
10.3 39d8652c debug |
mysqld: /data/src/10.3/storage/maria/ma_search.c:130: _ma_search_no_save: Assertion `info->last_key.keyinfo == key->keyinfo' failed.
|
191119 14:58:28 [ERROR] mysqld got signal 6 ;
|
|
#7 0x00007f294b545f12 in __GI___assert_fail (assertion=0x55ce969991d0 "info->last_key.keyinfo == key->keyinfo", file=0x55ce96999160 "/data/src/10.3/storage/maria/ma_search.c", line=130, function=0x55ce969996a0 <__PRETTY_FUNCTION__.15299> "_ma_search_no_save") at assert.c:101
|
#8 0x000055ce9641c103 in _ma_search_no_save (info=0x7f28f002daa0, key=0x7f293d4bff40, nextflag=1, pos=16384, res_page_link=0x7f293d4bfeb0, res_page_buff=0x7f293d4bfeb8) at /data/src/10.3/storage/maria/ma_search.c:130
|
#9 0x000055ce9641beeb in _ma_search (info=0x7f28f002daa0, key=0x7f293d4bff40, nextflag=1, pos=16384) at /data/src/10.3/storage/maria/ma_search.c:77
|
#10 0x000055ce9641aab0 in maria_rkey (info=0x7f28f002daa0, buf=0x7f28f0049d58 "\377\377", inx=1, key_data=0x7f28f00ea620 "", keypart_map=1, search_flag=HA_READ_KEY_EXACT) at /data/src/10.3/storage/maria/ma_rkey.c:104
|
#11 0x000055ce963cd591 in ha_maria::index_read_map (this=0x7f28f00983a8, buf=0x7f28f0049d58 "\377\377", key=0x7f28f00ea620 "", keypart_map=1, find_flag=HA_READ_KEY_EXACT) at /data/src/10.3/storage/maria/ha_maria.cc:2283
|
#12 0x000055ce95d3bae9 in handler::ha_index_read_map (this=0x7f28f00983a8, buf=0x7f28f0049d58 "\377\377", key=0x7f28f00ea620 "", keypart_map=1, find_flag=HA_READ_KEY_EXACT) at /data/src/10.3/sql/handler.cc:2897
|
#13 0x000055ce95d441b8 in handler::read_range_first (this=0x7f28f00983a8, start_key=0x7f28f0098498, end_key=0x7f28f00984b8, eq_range_arg=true, sorted=true) at /data/src/10.3/sql/handler.cc:5816
|
#14 0x000055ce95bde906 in handler::multi_range_read_next (this=0x7f28f00983a8, range_info=0x7f28f0068140) at /data/src/10.3/sql/multi_range_read.cc:299
|
#15 0x000055ce95bdea3f in Mrr_simple_index_reader::get_next (this=0x7f28f0098970, range_info=0x7f28f0068140) at /data/src/10.3/sql/multi_range_read.cc:336
|
#16 0x000055ce95be1858 in DsMrr_impl::dsmrr_next (this=0x7f28f0098830, range_info=0x7f28f0068140) at /data/src/10.3/sql/multi_range_read.cc:1406
|
#17 0x000055ce963d1358 in ha_maria::multi_range_read_next (this=0x7f28f00983a8, range_info=0x7f28f0068140) at /data/src/10.3/storage/maria/ha_maria.cc:3804
|
#18 0x000055ce965679f9 in ha_partition::handle_ordered_index_scan (this=0x7f28f016b758, buf=0x7f28f0049d58 "\377\377", reverse_order=false) at /data/src/10.3/sql/ha_partition.cc:7563
|
#19 0x000055ce9656453a in ha_partition::multi_range_read_next (this=0x7f28f016b758, range_info=0x7f293d4c0340) at /data/src/10.3/sql/ha_partition.cc:6505
|
#20 0x000055ce95ebac38 in QUICK_RANGE_SELECT::get_next (this=0x7f28f0111f60) at /data/src/10.3/sql/opt_range.cc:11498
|
#21 0x000055ce95eccaa5 in rr_quick (info=0x7f28f0017c98) at /data/src/10.3/sql/records.cc:361
|
#22 0x000055ce9597eded in READ_RECORD::read_record (this=0x7f28f0017c98) at /data/src/10.3/sql/records.h:69
|
#23 0x000055ce95a993ae in join_init_read_record (tab=0x7f28f0017bd0) at /data/src/10.3/sql/sql_select.cc:20462
|
#24 0x000055ce95a98f4c in join_init_quick_read_record (tab=0x7f28f0017bd0) at /data/src/10.3/sql/sql_select.cc:20390
|
#25 0x000055ce95a96f6b in sub_select (join=0x7f28f0014c58, join_tab=0x7f28f0017bd0, end_of_records=false) at /data/src/10.3/sql/sql_select.cc:19523
|
#26 0x000055ce95a9770e in evaluate_join_record (join=0x7f28f0014c58, join_tab=0x7f28f0017840, error=0) at /data/src/10.3/sql/sql_select.cc:19746
|
#27 0x000055ce95a971a5 in sub_select (join=0x7f28f0014c58, join_tab=0x7f28f0017840, end_of_records=false) at /data/src/10.3/sql/sql_select.cc:19565
|
#28 0x000055ce95a96457 in do_select (join=0x7f28f0014c58, procedure=0x0) at /data/src/10.3/sql/sql_select.cc:19066
|
#29 0x000055ce95a6d64f in JOIN::exec_inner (this=0x7f28f0014c58) at /data/src/10.3/sql/sql_select.cc:4040
|
#30 0x000055ce95a6ca22 in JOIN::exec (this=0x7f28f0014c58) at /data/src/10.3/sql/sql_select.cc:3834
|
#31 0x000055ce95a6dd33 in mysql_select (thd=0x7f28f0000af0, tables=0x7f28f0012988, wild_num=0, fields=..., conds=0x7f28f00149e0, og_num=0, order=0x0, group=0x0, having=0x0, proc_param=0x0, select_options=2147748608, result=0x7f28f0014c30, unit=0x7f28f00049c0, select_lex=0x7f28f0005140) at /data/src/10.3/sql/sql_select.cc:4239
|
#32 0x000055ce95a5f7a8 in handle_select (thd=0x7f28f0000af0, lex=0x7f28f00048f8, result=0x7f28f0014c30, setup_tables_done_option=0) at /data/src/10.3/sql/sql_select.cc:370
|
#33 0x000055ce95a2719e in execute_sqlcom_select (thd=0x7f28f0000af0, all_tables=0x7f28f0012988) at /data/src/10.3/sql/sql_parse.cc:6291
|
#34 0x000055ce95a1dbd3 in mysql_execute_command (thd=0x7f28f0000af0) at /data/src/10.3/sql/sql_parse.cc:3821
|
#35 0x000055ce95a2b497 in mysql_parse (thd=0x7f28f0000af0, rawbuf=0x7f28f00125f8 "SELECT alias1.`pk` AS field1 FROM EE AS alias1 JOIN BB AS alias2 WHERE alias1.`col_varchar_1024_latin1` = alias2.`col_varchar_10_utf8_key` AND (alias2.`pk` = alias1.`col_int` OR alias2.`pk` = 4)", length=195, parser_state=0x7f293d4c1630, is_com_multi=false, is_next_command=false) at /data/src/10.3/sql/sql_parse.cc:7815
|
#36 0x000055ce95a1801b in dispatch_command (command=COM_QUERY, thd=0x7f28f0000af0, packet=0x7f28f0043481 "", packet_length=195, is_com_multi=false, is_next_command=false) at /data/src/10.3/sql/sql_parse.cc:1856
|
#37 0x000055ce95a16963 in do_command (thd=0x7f28f0000af0) at /data/src/10.3/sql/sql_parse.cc:1401
|
#38 0x000055ce95b8d8fa in do_handle_one_connection (connect=0x55ce98e36460) at /data/src/10.3/sql/sql_connect.cc:1403
|
#39 0x000055ce95b8d65c in handle_one_connection (arg=0x55ce98e36460) at /data/src/10.3/sql/sql_connect.cc:1308
|
#40 0x00007f294d0bb4a4 in start_thread (arg=0x7f293d4c2700) at pthread_create.c:456
|
#41 0x00007f294b602d0f in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:97
|
Couldn't reproduce on 10.2 or 10.4, only on 10.3.
Attachments
Issue Links
- relates to
-
MDEV-22284 Aria table key read crash because wrong index used
-
- Closed
-
Here is a test case which causes the same failure on all of 5.5-10.5:
--source include/have_partition.inc
# Cleanup
5.5 821a6939 debug
mysqld: /data/src/5.5/storage/maria/ma_search.c:130: _ma_search_no_save: Assertion `info->last_key.keyinfo == key->keyinfo' failed.
200612 0:52:19 [ERROR] mysqld got signal 6 ;
#7 0x00007f920d5faf12 in __GI___assert_fail (assertion=0x55bb877d3f60 "info->last_key.keyinfo == key->keyinfo", file=0x55bb877d3ef0 "/data/src/5.5/storage/maria/ma_search.c", line=130, function=0x55bb877d44a0 <__PRETTY_FUNCTION__.14061> "_ma_search_no_save") at assert.c:101
#8 0x000055bb87387b31 in _ma_search_no_save (info=0x7f92085bb060, key=0x7f920f06a920, nextflag=1, pos=16384, res_page_link=0x7f920f06a870, res_page_buff=0x7f920f06a868) at /data/src/5.5/storage/maria/ma_search.c:130
#9 0x000055bb87387964 in _ma_search (info=0x7f92085bb060, key=0x7f920f06a920, nextflag=1, pos=16384) at /data/src/5.5/storage/maria/ma_search.c:77
#10 0x000055bb873865dc in maria_rkey (info=0x7f92085bb060, buf=0x7f9208456fa0 "\377\002", inx=1, key_data=0x7f920f06aa90 "\002", keypart_map=1, search_flag=HA_READ_KEY_EXACT) at /data/src/5.5/storage/maria/ma_rkey.c:103
#11 0x000055bb873417a8 in ha_maria::index_read_idx_map (this=0x7f9208476078, buf=0x7f9208456fa0 "\377\002", index=1, key=0x7f920f06aa90 "\002", keypart_map=1, find_flag=HA_READ_KEY_EXACT) at /data/src/5.5/storage/maria/ha_maria.cc:2322
#12 0x000055bb8765fc3c in ha_partition::index_read_idx_map (this=0x7f920848f478, buf=0x7f9208456fa0 "\377\002", index=1, key=0x7f920f06aa90 "\002", keypart_map=1, find_flag=HA_READ_KEY_EXACT) at /data/src/5.5/sql/ha_partition.cc:5057
#13 0x000055bb86f811e5 in handler::ha_index_read_idx_map (this=0x7f920848f478, buf=0x7f9208456fa0 "\377\002", index=1, key=0x7f920f06aa90 "\002", keypart_map=1, find_flag=HA_READ_KEY_EXACT) at /data/src/5.5/sql/sql_class.h:4274
#14 0x000055bb86fcc449 in write_record (thd=0x7f920926f060, table=0x7f92085dae60, info=0x7f920f06acf0) at /data/src/5.5/sql/sql_insert.cc:1672
#15 0x000055bb86fca926 in mysql_insert (thd=0x7f920926f060, table_list=0x7f92084c4170, fields=..., values_list=..., update_fields=..., update_values=..., duplic=DUP_REPLACE, ignore=false) at /data/src/5.5/sql/sql_insert.cc:986
#16 0x000055bb86fe93ec in mysql_execute_command (thd=0x7f920926f060) at /data/src/5.5/sql/sql_parse.cc:2960
#17 0x000055bb86ff151f in mysql_parse (thd=0x7f920926f060, rawbuf=0x7f92084c4078 "REPLACE INTO t1 VALUES (1,0),(2,NULL)", length=37, parser_state=0x7f920f06b620) at /data/src/5.5/sql/sql_parse.cc:5928
#18 0x000055bb86fe4df5 in dispatch_command (command=COM_QUERY, thd=0x7f920926f060, packet=0x7f92093e8061 "REPLACE INTO t1 VALUES (1,0),(2,NULL)", packet_length=37) at /data/src/5.5/sql/sql_parse.cc:1067
#19 0x000055bb86fe4005 in do_command (thd=0x7f920926f060) at /data/src/5.5/sql/sql_parse.cc:793
#20 0x000055bb870ea2a9 in do_handle_one_connection (thd_arg=0x7f920926f060) at /data/src/5.5/sql/sql_connect.cc:1268
#21 0x000055bb870ea018 in handle_one_connection (arg=0x7f920926f060) at /data/src/5.5/sql/sql_connect.cc:1184
#22 0x000055bb8746eca0 in pfs_spawn_thread (arg=0x7f920927eca0) at /data/src/5.5/storage/perfschema/pfs.cc:1015
#23 0x00007f920eca14a4 in start_thread (arg=0x7f920f06c700) at pthread_create.c:456
#24 0x00007f920d6b7d0f in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:97
5.5 821a6939 non-debug
mysqltest: At line 5: query 'REPLACE INTO t1 VALUES (1,0),(2,NULL)' failed: 1032: Can't find record in 't1'
10.5 6877ef9a debug
mariadbd: /data/src/10.5/storage/maria/ma_search.c:130: _ma_search_no_save: Assertion `info->last_key.keyinfo == key->keyinfo' failed.
200612 0:54:51 [ERROR] mysqld got signal 6 ;
#7 0x00007f0bce711f12 in __GI___assert_fail (assertion=0x562ca31eef10 "info->last_key.keyinfo == key->keyinfo", file=0x562ca31eeea0 "/data/src/10.5/storage/maria/ma_search.c", line=130, function=0x562ca31ef3e0 <__PRETTY_FUNCTION__.15896> "_ma_search_no_save") at assert.c:101
#8 0x0000562ca2808244 in _ma_search_no_save (info=0x7f0bb81c25c8, key=0x7f0bc92ae720, nextflag=1, pos=16384, res_page_link=0x7f0bc92ae690, res_page_buff=0x7f0bc92ae698) at /data/src/10.5/storage/maria/ma_search.c:130
#9 0x0000562ca280802f in _ma_search (info=0x7f0bb81c25c8, key=0x7f0bc92ae720, nextflag=1, pos=16384) at /data/src/10.5/storage/maria/ma_search.c:77
#10 0x0000562ca2806bce in maria_rkey (info=0x7f0bb81c25c8, buf=0x7f0bb800c590 "\377\002", inx=1, key_data=0x7f0bc92ae9b0 "\002", keypart_map=1, search_flag=HA_READ_KEY_EXACT) at /data/src/10.5/storage/maria/ma_rkey.c:104
#11 0x0000562ca27b69a5 in ha_maria::index_read_idx_map (this=0x7f0bb80fa700, buf=0x7f0bb800c590 "\377\002", index=1, key=0x7f0bc92ae9b0 "\002", keypart_map=1, find_flag=HA_READ_KEY_EXACT) at /data/src/10.5/storage/maria/ha_maria.cc:2395
#12 0x0000562ca252f136 in handler::ha_index_read_idx_map (this=0x7f0bb80fa700, buf=0x7f0bb800c590 "\377\002", index=1, key=0x7f0bc92ae9b0 "\002", keypart_map=1, find_flag=HA_READ_KEY_EXACT) at /data/src/10.5/sql/handler.cc:3074
#13 0x0000562ca289004f in ha_partition::index_read_idx_map (this=0x7f0bb80f9df0, buf=0x7f0bb800c590 "\377\002", index=1, key=0x7f0bc92ae9b0 "\002", keypart_map=1, find_flag=HA_READ_KEY_EXACT) at /data/src/10.5/sql/ha_partition.cc:5923
#14 0x0000562ca252ef5b in handler::ha_index_read_idx_map (this=0x7f0bb80f9df0, buf=0x7f0bb800c590 "\377\002", index=1, key=0x7f0bc92ae9b0 "\002", keypart_map=1, find_flag=HA_READ_KEY_EXACT) at /data/src/10.5/sql/handler.cc:3074
#15 0x0000562ca218487e in write_record (thd=0x7f0bb8000b18, table=0x7f0bb80f8f78, info=0x7f0bc92aebf0, sink=0x0) at /data/src/10.5/sql/sql_insert.cc:1843
#16 0x0000562ca21824a2 in mysql_insert (thd=0x7f0bb8000b18, table_list=0x7f0bb8013a58, fields=..., values_list=..., update_fields=..., update_values=..., duplic=DUP_REPLACE, ignore=false, result=0x0) at /data/src/10.5/sql/sql_insert.cc:1088
#17 0x0000562ca21d3fc4 in mysql_execute_command (thd=0x7f0bb8000b18) at /data/src/10.5/sql/sql_parse.cc:4553
#18 0x0000562ca21dfa3b in mysql_parse (thd=0x7f0bb8000b18, rawbuf=0x7f0bb8013960 "REPLACE INTO t1 VALUES (1,0),(2,NULL)", length=37, parser_state=0x7f0bc92af520, is_com_multi=false, is_next_command=false) at /data/src/10.5/sql/sql_parse.cc:7992
#19 0x0000562ca21cbdc1 in dispatch_command (command=COM_QUERY, thd=0x7f0bb8000b18, packet=0x7f0bb81b06e9 "REPLACE INTO t1 VALUES (1,0),(2,NULL)", packet_length=37, is_com_multi=false, is_next_command=false) at /data/src/10.5/sql/sql_parse.cc:1875
#20 0x0000562ca21ca4f9 in do_command (thd=0x7f0bb8000b18) at /data/src/10.5/sql/sql_parse.cc:1356
#21 0x0000562ca236ee8f in do_handle_one_connection (connect=0x562ca50704f8, put_in_cache=true) at /data/src/10.5/sql/sql_connect.cc:1411
#22 0x0000562ca236ebf7 in handle_one_connection (arg=0x562ca50704f8) at /data/src/10.5/sql/sql_connect.cc:1313
#23 0x0000562ca28a61a0 in pfs_spawn_thread (arg=0x562ca505c678) at /data/src/10.5/storage/perfschema/pfs.cc:2201
#24 0x00007f0bd069a4a4 in start_thread (arg=0x7f0bc92b0700) at pthread_create.c:456
#25 0x00007f0bce7ced0f in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:97
10.5 6877ef9a non-debug
mysqltest: At line 5: query 'REPLACE INTO t1 VALUES (1,0),(2,NULL)' failed: 1030: Got error 175 "File too short; Expected more data in file" from storage engine Aria