Details
-
Bug
-
Status: Closed (View Workflow)
-
Major
-
Resolution: Duplicate
-
10.2(EOL), 10.3(EOL), 10.4(EOL), 10.5, 10.6, 10.7(EOL), 10.8(EOL), 10.9(EOL)
-
None
Description
It might be related to MDEV-21245, which is about the same assertion failure, but otherwise different stack trace. Other numerous JIRA reports about this assertion failure are closed at this moment.
--source include/have_innodb.inc
|
|
CREATE TABLE t1 (a VARCHAR(8)) ENGINE=InnoDB; |
INSERT INTO t1 VALUES ('foo'),('bar'); |
|
CREATE TABLE t2 (b VARCHAR(256), KEY(b)) ENGINE=InnoDB; |
INSERT INTO t2 VALUES ('1'),('2'),('3'),('4'),('5'),('6'),('7'),('8'),('9'),('10'); |
SET SQL_MODE= ''; |
ALTER TABLE t2 MODIFY b VARCHAR(3073); |
|
SELECT * FROM t1 JOIN t2 FORCE INDEX(b) ON a = b; |
|
# Cleanup
|
DROP TABLE t1, t2; |
Note: Originally the problem was observed without FORCE INDEX, but then it required innodb_stats_persistent (which is default in the server, but not in MTR) and, on some reason, table encryption. FORCE INDEX allowed to get rid of both.
10.2 3ce49a0a |
2020-02-21 15:18:45 140132916807424 [Warning] InnoDB: Using a partial-field key prefix in search, index `b` of table `test`.`t2`. Last data field length 3076 bytes, key ptr now exceeds key end by 1 bytes. Key value in the MySQL format:
|
len 3075; hex <...>; asc foo ;
|
mysqld: /data/src/10.2/storage/innobase/row/row0sel.cc:2738: void row_sel_convert_mysql_key_to_innobase(dtuple_t*, byte*, ulint, dict_index_t*, const byte*, ulint, trx_t*): Assertion `0' failed.
|
200221 15:18:45 [ERROR] mysqld got signal 6 ;
|
|
#7 0x00007f7342556f12 in __GI___assert_fail (assertion=0x55e0ebe26f33 "0", file=0x55e0ebe26bc0 "/data/src/10.2/storage/innobase/row/row0sel.cc", line=2738, function=0x55e0ebe2a720 <row_sel_convert_mysql_key_to_innobase(dtuple_t*, unsigned char*, unsigned long, dict_index_t*, unsigned char const*, unsigned long, trx_t*)::__PRETTY_FUNCTION__> "void row_sel_convert_mysql_key_to_innobase(dtuple_t*, byte*, ulint, dict_index_t*, const byte*, ulint, trx_t*)") at assert.c:101
|
#8 0x000055e0eb7e8441 in row_sel_convert_mysql_key_to_innobase (tuple=0x7f72f0035fc0, buf=0x0, buf_len=0, index=0x7f72f0085930, key_ptr=0x7f72f00176f4 "", key_len=3075, trx=0x7f733d769140) at /data/src/10.2/storage/innobase/row/row0sel.cc:2738
|
#9 0x000055e0eb67b6e6 in ha_innobase::index_read (this=0x7f72f0086b88, buf=0x7f72f0034368 "\377", key_ptr=0x7f72f0016af0 "", key_len=3075, find_flag=HA_READ_KEY_EXACT) at /data/src/10.2/storage/innobase/handler/ha_innodb.cc:9427
|
#10 0x000055e0eb487f08 in handler::index_read_map (this=0x7f72f0086b88, buf=0x7f72f0034368 "\377", key=0x7f72f0016af0 "", keypart_map=1, find_flag=HA_READ_KEY_EXACT) at /data/src/10.2/sql/handler.h:3136
|
#11 0x000055e0eb47e0e5 in handler::ha_index_read_map (this=0x7f72f0086b88, buf=0x7f72f0034368 "\377", key=0x7f72f0016af0 "", keypart_map=1, find_flag=HA_READ_KEY_EXACT) at /data/src/10.2/sql/handler.cc:2711
|
#12 0x000055e0eb26a7be in join_read_always_key (tab=0x7f72f0016370) at /data/src/10.2/sql/sql_select.cc:19614
|
#13 0x000055e0eb268d49 in sub_select (join=0x7f72f0013ec0, join_tab=0x7f72f0016370, end_of_records=false) at /data/src/10.2/sql/sql_select.cc:18860
|
#14 0x000055e0eb2694bf in evaluate_join_record (join=0x7f72f0013ec0, join_tab=0x7f72f0015fc0, error=0) at /data/src/10.2/sql/sql_select.cc:19083
|
#15 0x000055e0eb268dab in sub_select (join=0x7f72f0013ec0, join_tab=0x7f72f0015fc0, end_of_records=false) at /data/src/10.2/sql/sql_select.cc:18863
|
#16 0x000055e0eb268332 in do_select (join=0x7f72f0013ec0, procedure=0x0) at /data/src/10.2/sql/sql_select.cc:18407
|
#17 0x000055e0eb241e19 in JOIN::exec_inner (this=0x7f72f0013ec0) at /data/src/10.2/sql/sql_select.cc:3629
|
#18 0x000055e0eb2412d4 in JOIN::exec (this=0x7f72f0013ec0) at /data/src/10.2/sql/sql_select.cc:3424
|
#19 0x000055e0eb24248a in mysql_select (thd=0x7f72f0000af0, tables=0x7f72f0012668, wild_num=1, fields=..., conds=0x0, og_num=0, order=0x0, group=0x0, having=0x0, proc_param=0x0, select_options=2147748608, result=0x7f72f0013ea0, unit=0x7f72f00046e8, select_lex=0x7f72f0004e28) at /data/src/10.2/sql/sql_select.cc:3824
|
#20 0x000055e0eb236694 in handle_select (thd=0x7f72f0000af0, lex=0x7f72f0004628, result=0x7f72f0013ea0, setup_tables_done_option=0) at /data/src/10.2/sql/sql_select.cc:361
|
#21 0x000055e0eb201e18 in execute_sqlcom_select (thd=0x7f72f0000af0, all_tables=0x7f72f0012668) at /data/src/10.2/sql/sql_parse.cc:6224
|
#22 0x000055e0eb1f8821 in mysql_execute_command (thd=0x7f72f0000af0) at /data/src/10.2/sql/sql_parse.cc:3531
|
#23 0x000055e0eb205cba in mysql_parse (thd=0x7f72f0000af0, rawbuf=0x7f72f0012448 "SELECT * FROM t1 JOIN t2 FORCE INDEX(b) ON a = b", length=48, parser_state=0x7f733cba3200, is_com_multi=false, is_next_command=false) at /data/src/10.2/sql/sql_parse.cc:7739
|
#24 0x000055e0eb1f4013 in dispatch_command (command=COM_QUERY, thd=0x7f72f0000af0, packet=0x7f72f0095441 "", packet_length=48, is_com_multi=false, is_next_command=false) at /data/src/10.2/sql/sql_parse.cc:1831
|
#25 0x000055e0eb1f2967 in do_command (thd=0x7f72f0000af0) at /data/src/10.2/sql/sql_parse.cc:1384
|
#26 0x000055e0eb3479a3 in do_handle_one_connection (connect=0x55e0ed9a8a10) at /data/src/10.2/sql/sql_connect.cc:1336
|
#27 0x000055e0eb34770e in handle_one_connection (arg=0x55e0ed9a8a10) at /data/src/10.2/sql/sql_connect.cc:1241
|
#28 0x000055e0ebb637ae in pfs_spawn_thread (arg=0x55e0ed9b3800) at /data/src/10.2/storage/perfschema/pfs.cc:1869
|
#29 0x00007f73444df4a4 in start_thread (arg=0x7f733cba4700) at pthread_create.c:456
|
#30 0x00007f7342613d0f in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:97
|
Reproducible on 10.2-10.5.
Non-debug build doesn't crash, but the warnings InnoDB: Using a partial-field key prefix in search are still there.
Attachments
Issue Links
- duplicates
-
MDEV-21245 Assertion `0' failed in row_sel_convert_mysql_key_to_innobase upon UPDATE using a partial-field key prefix in search
- Closed
- relates to
-
MDEV-23258 InnoDB: Failing assertion: 0 in row_sel_convert_mysql_key_to_innobase
- Closed
-
MDEV-24902 Assertion `0' failed in row_sel_convert_mysql_key_to_innobase
- Closed
-
MDEV-16240 Assertion `0' failed in row_sel_convert_mysql_key_to_innobase
- Closed
-
MDEV-18793 Assertion `0' failed in row_sel_convert_mysql_key_to_innobase, ASAN unknown-crash in row_mysql_store_col_in_innobase_format, warning " InnoDB: Using a partial-field key prefix in search"
- Closed
-
MDEV-19634 Assertion `0' failed in row_sel_convert_mysql_key_to_innobase, [Warning] InnoDB: Using a partial-field key prefix in search
- Closed
-
MDEV-19677 Assertion `0' failed in row_sel_convert_mysql_key_to_innobase
- Closed