Details
-
Bug
-
Status: Closed (View Workflow)
-
Critical
-
Resolution: Fixed
-
10.2(EOL), 10.3(EOL), 10.4(EOL)
Description
--source include/have_innodb.inc
|
|
set sql_mode=''; |
|
CREATE TABLE `DD` ( |
`col_varchar_nokey` TIMESTAMP NOT NULL DEFAULT '0000-00-00 00:00:00' ON UPDATE current_timestamp(), |
`col_varchar_key` datetime DEFAULT '2000-01-01 00:00:00' ON UPDATE current_timestamp(), |
`col_int_nokey` TIMESTAMP NULL DEFAULT '2000-01-01 00:00:00', |
`pk` datetime NOT NULL DEFAULT '0000-00-00 00:00:00', |
`col_int_key` datetime DEFAULT current_timestamp(), |
PRIMARY KEY (`pk`), |
UNIQUE KEY `col_varchar_key` (`col_varchar_key`), |
KEY `col_int_key` (`col_int_key`) |
) ENGINE=InnoDB;
|
|
INSERT INTO `DD` VALUES ('2018-05-18 15:08:07','2018-05-18 17:08:07','0000-00-00 00:00:00','0000-00-00 00:00:00','0000-00-00 00:00:00'),('0000-00-00 00:00:00','0000-00-00 00:00:00','1999-12-31 23:00:00','2002-07-03 23:04:40','0000-00-00 00:00:00'); |
|
CREATE VIEW `view_DD` AS |
SELECT `DD`.`pk` AS `pk`, |
`DD`.`col_int_nokey` AS `col_int_nokey`, |
`DD`.`col_int_key` AS `col_int_key`, |
`DD`.`col_varchar_key` AS `col_varchar_key`, |
`DD`.`col_varchar_nokey` AS `col_varchar_nokey` |
FROM `DD`; |
|
CREATE TABLE `C` ( |
`col_varchar_nokey` datetime DEFAULT current_timestamp() ON UPDATE current_timestamp(), |
`col_int_nokey` timestamp NULL DEFAULT NULL, |
`col_varchar_key` timestamp NULL DEFAULT '1999-12-31 23:00:00' ON UPDATE current_timestamp(), |
`pk` int(11) NOT NULL, |
`col_int_key` timestamp NOT NULL DEFAULT current_timestamp() ON UPDATE current_timestamp(), |
PRIMARY KEY (`pk`) |
) ENGINE=InnoDB;
|
|
INSERT INTO `C` VALUES ('2018-05-18 17:08:06','0000-00-00 00:00:00',NULL,1,'2018-05-18 15:08:06'),('2018-05-18 17:08:06','0000-00-00 00:00:00',NULL,2,'2018-05-18 15:08:06'),('2018-05-18 17:08:06','0000-00-00 00:00:00',NULL,3,'2018-05-18 15:08:06'),('0000-00-00 00:00:00','0000-00-00 00:00:00',NULL,1976,'0000-00-00 00:00:00'),('2018-05-18 17:08:06','0000-00-00 00:00:00',NULL,2000,'2018-05-18 15:08:06'),('2018-05-18 17:08:06','0000-00-00 00:00:00',NULL,2001,'2018-05-18 15:08:06'),('2018-05-18 17:08:06','0000-00-00 00:00:00',NULL,2002,'2018-05-18 15:08:06'),('2018-05-18 17:08:06','0000-00-00 00:00:00',NULL,2003,'2018-05-18 15:08:06'),('2018-05-18 17:08:06','0000-00-00 00:00:00',NULL,2004,'2018-05-18 15:08:06'),('2018-05-18 17:08:06','0000-00-00 00:00:00','2018-05-18 15:08:06',2005,'2018-05-18 15:08:06'),('2018-05-18 17:08:06','0000-00-00 00:00:00','2018-05-18 15:08:06',2018,'2018-05-18 15:08:06'),('2018-05-18 17:08:06','0000-00-00 00:00:00','2018-05-18 15:08:06',2019,'2018-05-18 15:08:06'),('2018-05-18 17:08:06','0000-00-00 00:00:00','2018-05-18 15:08:06',2024,'2018-05-18 15:08:06'),('2018-05-18 17:08:06','0000-00-00 00:00:00','1999-12-31 23:00:00',2025,'2018-05-18 15:08:06'),('0000-00-00 00:00:00',NULL,'2018-05-18 15:08:06',2026,'2018-05-18 15:08:06'),('2018-05-18 17:08:07','0000-00-00 00:00:00','0000-00-00 00:00:00',2027,'0000-00-00 00:00:00'); |
|
UPDATE `view_DD` t1, `C` t2 |
SET t1.`col_varchar_key` = 6452736 WHERE t1.`col_int_key` = 6272000; |
10.2 afe5a51c2df9
|
Thread 1 (Thread 0x7f142058c700 (LWP 27097)):
|
#0 __pthread_kill (threadid=<optimized out>, signo=6) at ../sysdeps/unix/sysv/linux/pthread_kill.c:62
|
#1 0x000055b9f3f8d68d in my_write_core (sig=6) at /home/alice/git/10.2/mysys/stacktrace.c:477
|
#2 0x000055b9f382716b in handle_fatal_signal (sig=6) at /home/alice/git/10.2/sql/signal_handler.cc:305
|
#3 <signal handler called>
|
#4 0x00007f142d948428 in __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:54
|
#5 0x00007f142d94a02a in __GI_abort () at abort.c:89
|
#6 0x00007f142d940bd7 in __assert_fail_base (fmt=<optimized out>, assertion=assertion@entry=0x55b9f41fdc3b "0", file=file@entry=0x55b9f41fd8b0 "/home/alice/git/10.2/storage/innobase/row/row0sel.cc", line=line@entry=2725, function=function@entry=0x55b9f42016e0 <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:92
|
#7 0x00007f142d940c82 in __GI___assert_fail (assertion=0x55b9f41fdc3b "0", file=0x55b9f41fd8b0 "/home/alice/git/10.2/storage/innobase/row/row0sel.cc", line=2725, function=0x55b9f42016e0 <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 0x000055b9f3cd9d9b in row_sel_convert_mysql_key_to_innobase (tuple=0x7f13d411ce88, buf=0x0, buf_len=0, index=0x7f13d4133a58, key_ptr=0x7f13d4130876 "\245\245\245\245\245\245\245\245\245\245", '\217' <repeats 190 times>..., key_len=5, trx=0x7f14280b0400) at /home/alice/git/10.2/storage/innobase/row/row0sel.cc:2725
|
#9 0x000055b9f3b6f136 in ha_innobase::index_read (this=0x7f13d411a9b8, buf=0x7f13d4006638 "\361Z\376\320\067\231\237\345\022\a", key_ptr=0x7f13d4130870 "\200", key_len=5, find_flag=HA_READ_KEY_EXACT) at /home/alice/git/10.2/storage/innobase/handler/ha_innodb.cc:9449
|
#10 0x000055b9f3b70817 in ha_innobase::rnd_pos (this=0x7f13d411a9b8, buf=0x7f13d4006638 "\361Z\376\320\067\231\237\345\022\a", pos=0x7f13d4130870 "\200") at /home/alice/git/10.2/storage/innobase/handler/ha_innodb.cc:10029
|
#11 0x000055b9f382dcbb in handler::ha_rnd_pos (this=0x7f13d411a9b8, buf=0x7f13d4006638 "\361Z\376\320\067\231\237\345\022\a", pos=0x7f13d4130870 "\200") at /home/alice/git/10.2/sql/handler.cc:2605
|
#12 0x000055b9f369f9b1 in prepare_record_for_error_message (error=121, table=0x7f13d41490c0) at /home/alice/git/10.2/sql/sql_update.cc:215
|
#13 0x000055b9f36a5917 in multi_update::send_data (this=0x7f13d4017470, not_used_values=...) at /home/alice/git/10.2/sql/sql_update.cc:2165
|
#14 0x000055b9f36281f0 in end_send (join=0x7f13d4017538, join_tab=0x7f13d4040ea8, end_of_records=false) at /home/alice/git/10.2/sql/sql_select.cc:19878
|
#15 0x000055b9f3625cca in evaluate_join_record (join=0x7f13d4017538, join_tab=0x7f13d4040af8, error=0) at /home/alice/git/10.2/sql/sql_select.cc:18930
|
#16 0x000055b9f36255bb in sub_select (join=0x7f13d4017538, join_tab=0x7f13d4040af8, end_of_records=false) at /home/alice/git/10.2/sql/sql_select.cc:18710
|
#17 0x000055b9f3625cca in evaluate_join_record (join=0x7f13d4017538, join_tab=0x7f13d4040748, error=0) at /home/alice/git/10.2/sql/sql_select.cc:18930
|
#18 0x000055b9f36255bb in sub_select (join=0x7f13d4017538, join_tab=0x7f13d4040748, end_of_records=false) at /home/alice/git/10.2/sql/sql_select.cc:18710
|
#19 0x000055b9f3624b56 in do_select (join=0x7f13d4017538, procedure=0x0) at /home/alice/git/10.2/sql/sql_select.cc:18254
|
#20 0x000055b9f35ff6e7 in JOIN::exec_inner (this=0x7f13d4017538) at /home/alice/git/10.2/sql/sql_select.cc:3585
|
#21 0x000055b9f35feb96 in JOIN::exec (this=0x7f13d4017538) at /home/alice/git/10.2/sql/sql_select.cc:3380
|
#22 0x000055b9f35ffd58 in mysql_select (thd=0x7f13d4000b00, tables=0x7f13d40125d8, wild_num=0, fields=..., conds=0x7f13d4013640, og_num=0, order=0x0, group=0x0, having=0x0, proc_param=0x0, select_options=1342177408, result=0x7f13d4017470, unit=0x7f13d40046a0, select_lex=0x7f13d4004dd8) at /home/alice/git/10.2/sql/sql_select.cc:3780
|
#23 0x000055b9f36a392d in mysql_multi_update (thd=0x7f13d4000b00, table_list=0x7f13d40125d8, fields=0x7f13d4004f00, values=0x7f13d40053d0, conds=0x7f13d4013640, options=0, handle_duplicates=DUP_ERROR, ignore=false, unit=0x7f13d40046a0, select_lex=0x7f13d4004dd8, result=0x7f142058a910) at /home/alice/git/10.2/sql/sql_update.cc:1604
|
#24 0x000055b9f35b80f0 in mysql_execute_command (thd=0x7f13d4000b00) at /home/alice/git/10.2/sql/sql_parse.cc:4347
|
#25 0x000055b9f35c38c9 in mysql_parse (thd=0x7f13d4000b00, rawbuf=0x7f13d4012448 "UPDATE `view_DD` t1, `C` t2\nSET t1.`col_varchar_key` = 6452736 WHERE t1.`col_int_key` = 6272000", length=95, parser_state=0x7f142058b200, is_com_multi=false, is_next_command=false) at /home/alice/git/10.2/sql/sql_parse.cc:7941
|
#26 0x000055b9f35b12a0 in dispatch_command (command=COM_QUERY, thd=0x7f13d4000b00, packet=0x7f13d40088a1 "UPDATE `view_DD` t1, `C` t2\nSET t1.`col_varchar_key` = 6452736 WHERE t1.`col_int_key` = 6272000", packet_length=95, is_com_multi=false, is_next_command=false) at /home/alice/git/10.2/sql/sql_parse.cc:1820
|
#27 0x000055b9f35afbfc in do_command (thd=0x7f13d4000b00) at /home/alice/git/10.2/sql/sql_parse.cc:1374
|
#28 0x000055b9f36febb9 in do_handle_one_connection (connect=0x55b9f69307b0) at /home/alice/git/10.2/sql/sql_connect.cc:1335
|
#29 0x000055b9f36fe939 in handle_one_connection (arg=0x55b9f69307b0) at /home/alice/git/10.2/sql/sql_connect.cc:1241
|
#30 0x000055b9f3f2adbe in pfs_spawn_thread (arg=0x55b9f6913980) at /home/alice/git/10.2/storage/perfschema/pfs.cc:1862
|
#31 0x00007f142e5856ba in start_thread (arg=0x7f142058c700) at pthread_create.c:333
|
#32 0x00007f142da1a41d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109
|
[Warning] InnoDB: Using a partial-field key prefix in search, index `col_int_key` of table `test`.`DD`. Last data field length 6 bytes, key ptr now exceeds key end by 1 bytes. Key value in the MySQL format:
|
len 5; hex 8000000000; asc ;
|
mysqld: /home/alice/git/10.2/storage/innobase/row/row0sel.cc:2725: void row_sel_convert_mysql_key_to_innobase(dtuple_t*, byte*, ulint, dict_index_t*, const byte*, ulint, trx_t*): Assertion `0' failed.
|
|
Server version: 10.2.16-MariaDB-debug-log
|
Thread pointer: 0x7f13d4000b00
|
stack_bottom = 0x7f142058be70 thread_stack 0x49000
|
mysys/stacktrace.c:267(my_print_stacktrace)[0x55b9f3f8d59b]
|
sql/signal_handler.cc:168(handle_fatal_signal)[0x55b9f3826d43]
|
/lib/x86_64-linux-gnu/libpthread.so.0(+0x11390)[0x7f142e58f390]
|
linux/raise.c:54(__GI_raise)[0x7f142d948428]
|
stdlib/abort.c:91(__GI_abort)[0x7f142d94a02a]
|
assert/assert.c:92(__assert_fail_base)[0x7f142d940bd7]
|
/lib/x86_64-linux-gnu/libc.so.6(+0x2dc82)[0x7f142d940c82]
|
row/row0sel.cc:2728(row_sel_convert_mysql_key_to_innobase(dtuple_t*, unsigned char*, unsigned long, dict_index_t*, unsigned char const*, unsigned long, trx_t*))[0x55b9f3cd9d9b]
|
handler/ha_innodb.cc:9449(ha_innobase::index_read(unsigned char*, unsigned char const*, unsigned int, ha_rkey_function))[0x55b9f3b6f136]
|
handler/ha_innodb.cc:10029(ha_innobase::rnd_pos(unsigned char*, unsigned char*))[0x55b9f3b70817]
|
sql/handler.cc:2605(handler::ha_rnd_pos(unsigned char*, unsigned char*))[0x55b9f382dcbb]
|
sql/sql_update.cc:217(prepare_record_for_error_message(int, TABLE*))[0x55b9f369f9b1]
|
sql/sql_update.cc:2166(multi_update::send_data(List<Item>&))[0x55b9f36a5917]
|
sql/sql_select.cc:19878(end_send(JOIN*, st_join_table*, bool))[0x55b9f36281f0]
|
sql/sql_select.cc:18930(evaluate_join_record(JOIN*, st_join_table*, int))[0x55b9f3625cca]
|
sql/sql_select.cc:18710(sub_select(JOIN*, st_join_table*, bool))[0x55b9f36255bb]
|
sql/sql_select.cc:18930(evaluate_join_record(JOIN*, st_join_table*, int))[0x55b9f3625cca]
|
sql/sql_select.cc:18710(sub_select(JOIN*, st_join_table*, bool))[0x55b9f36255bb]
|
sql/sql_select.cc:18254(do_select(JOIN*, Procedure*))[0x55b9f3624b56]
|
sql/sql_select.cc:3585(JOIN::exec_inner())[0x55b9f35ff6e7]
|
sql/sql_select.cc:3381(JOIN::exec())[0x55b9f35feb96]
|
sql/sql_select.cc:3782(mysql_select(THD*, TABLE_LIST*, unsigned int, List<Item>&, Item*, unsigned int, st_order*, st_order*, Item*, st_order*, unsigned long long, select_result*, st_select_lex_unit*, st_select_lex*))[0x55b9f35ffd58]
|
sql/sql_update.cc:1604(mysql_multi_update(THD*, TABLE_LIST*, List<Item>*, List<Item>*, Item*, unsigned long long, enum_duplicates, bool, st_select_lex_unit*, st_select_lex*, multi_update**))[0x55b9f36a392d]
|
sql/sql_parse.cc:4347(mysql_execute_command(THD*))[0x55b9f35b80f0]
|
sql/sql_parse.cc:7941(mysql_parse(THD*, char*, unsigned int, Parser_state*, bool, bool))[0x55b9f35c38c9]
|
sql/sql_parse.cc:1822(dispatch_command(enum_server_command, THD*, char*, unsigned int, bool, bool))[0x55b9f35b12a0]
|
sql/sql_parse.cc:1374(do_command(THD*))[0x55b9f35afbfc]
|
sql/sql_connect.cc:1335(do_handle_one_connection(CONNECT*))[0x55b9f36febb9]
|
sql/sql_connect.cc:1242(handle_one_connection)[0x55b9f36fe939]
|
perfschema/pfs.cc:1864(pfs_spawn_thread)[0x55b9f3f2adbe]
|
/lib/x86_64-linux-gnu/libpthread.so.0(+0x76ba)[0x7f142e5856ba]
|
x86_64/clone.S:111(clone)[0x7f142da1a41d]
|
|
Trying to get some variables.
|
Some pointers may be invalid and cause the dump to abort.
|
Query (0x7f13d4012448): UPDATE `view_DD` t1, `C` t2 SET t1.`col_varchar_key` = 6452736 WHERE t1.`col_int_key` = 6272000
|
Connection ID (thread ID): 9
|
Status: NOT_KILLED
|
Attachments
Issue Links
- relates to
-
MDEV-11167 InnoDB: Warning: using a partial-field key prefix in search, results in assertion failure or "Can't find record" error
- Closed
-
MDEV-21245 Assertion `0' failed in row_sel_convert_mysql_key_to_innobase upon UPDATE using a partial-field key prefix in search
- Closed
-
MDEV-21798 Assertion `0' failed in row_sel_convert_mysql_key_to_innobase upon SELECT using index
- 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-19677 Assertion `0' failed in row_sel_convert_mysql_key_to_innobase
- Closed