Details
-
Bug
-
Status: Closed (View Workflow)
-
Blocker
-
Resolution: Fixed
-
10.5
Description
Before closing the issue, please check that test cases from comments are also fixed.
--source include/have_partition.inc
|
|
CREATE TABLE t1 (a INT, b INT, UNIQUE (b) USING HASH) PARTITION BY KEY (a) PARTITIONS 2; |
INSERT INTO t1 VALUES (1,10),(2,20); |
UPDATE t1 SET b = 30 LIMIT 1; |
|
# Cleanup
|
DROP TABLE t1; |
10.5 dcc2eaeb debug |
mariadbd: /data/src/10.5/sql/handler.h:3291: int handler::ha_index_init(uint, bool): Assertion `inited==NONE' failed.
|
200407 19:29:03 [ERROR] mysqld got signal 6 ;
|
|
#7 0x00007fae300ba102 in __GI___assert_fail (assertion=0x561a7264a720 "inited==NONE", file=0x561a7264a6a0 "/data/src/10.5/sql/handler.h", line=3291, function=0x561a72658800 <handler::ha_index_init(unsigned int, bool)::__PRETTY_FUNCTION__> "int handler::ha_index_init(uint, bool)") at assert.c:101
|
#8 0x0000561a70503d4e in handler::ha_index_init (this=0x61d0001e4728, idx=0, sorted=false) at /data/src/10.5/sql/handler.h:3291
|
#9 0x0000561a70ea688e in handler::check_duplicate_long_entry_key (this=0x61d0001e4728, new_rec=0x619000089458 "\361\001", key_no=0) at /data/src/10.5/sql/handler.cc:6589
|
#10 0x0000561a70ea853a in handler::check_duplicate_long_entries_update (this=0x61d0001e4728, new_rec=0x619000089458 "\361\001") at /data/src/10.5/sql/handler.cc:6721
|
#11 0x0000561a70eab863 in handler::ha_update_row (this=0x61d0001e4728, old_data=0x619000089470 "\361\001", new_data=0x619000089458 "\361\001") at /data/src/10.5/sql/handler.cc:6995
|
#12 0x0000561a7171cce8 in ha_partition::update_row (this=0x61d0001e3d28, old_data=0x619000089470 "\361\001", new_data=0x619000089458 "\361\001") at /data/src/10.5/sql/ha_partition.cc:4444
|
#13 0x0000561a70eabb6d in handler::ha_update_row (this=0x61d0001e3d28, old_data=0x619000089470 "\361\001", new_data=0x619000089458 "\361\001") at /data/src/10.5/sql/handler.cc:7000
|
#14 0x0000561a709a1e6c in mysql_update (thd=0x62b000069288, table_list=0x62b0000383c0, fields=..., values=..., conds=0x0, order_num=0, order=0x0, limit=1, ignore=false, found_return=0x7fae27759cd0, updated_return=0x7fae27759d10) at /data/src/10.5/sql/sql_update.cc:1055
|
#15 0x0000561a706bb609 in mysql_execute_command (thd=0x62b000069288) at /data/src/10.5/sql/sql_parse.cc:4363
|
#16 0x0000561a706d5125 in mysql_parse (thd=0x62b000069288, rawbuf=0x62b0000382a8 "UPDATE t1 SET b = 30 LIMIT 1", length=28, parser_state=0x7fae2775aa50, is_com_multi=false, is_next_command=false) at /data/src/10.5/sql/sql_parse.cc:7953
|
#17 0x0000561a706aaf15 in dispatch_command (command=COM_QUERY, thd=0x62b000069288, packet=0x629000249289 "UPDATE t1 SET b = 30 LIMIT 1", packet_length=28, is_com_multi=false, is_next_command=false) at /data/src/10.5/sql/sql_parse.cc:1839
|
#18 0x0000561a706a794a in do_command (thd=0x62b000069288) at /data/src/10.5/sql/sql_parse.cc:1358
|
#19 0x0000561a70ac6a8b in do_handle_one_connection (connect=0x61100001fd88, put_in_cache=true) at /data/src/10.5/sql/sql_connect.cc:1422
|
#20 0x0000561a70ac6326 in handle_one_connection (arg=0x61100001fc48) at /data/src/10.5/sql/sql_connect.cc:1319
|
#21 0x0000561a71764bc6 in pfs_spawn_thread (arg=0x616000009108) at /data/src/10.5/storage/perfschema/pfs.cc:2201
|
#22 0x00007fae30934fa3 in start_thread (arg=<optimized out>) at pthread_create.c:486
|
#23 0x00007fae301834cf in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95
|
10.5 dcc2eaeb non-debug |
query 'UPDATE t1 SET b = 30 LIMIT 1' failed: 1032: Can't find record in 't1'
|
The failures started happening on 10.5 after this commit:
commit 0515577d128318e1b62511846d88d0c56226168d
|
Author: Sergei Golubchik
|
Date: Thu Mar 5 19:19:57 2020 +0100
|
|
cleanup: prepare "update_handler" for WITHOUT OVERLAPS
|
Attachments
Issue Links
- relates to
-
MDEV-22262 Server crashes in ha_partition::open or handler::ha_table_flags upon UPDATE with partition pruning
-
- Confirmed
-
-
MDEV-22424 Server crashes in handler::check_duplicate_long_entry_key or Assertion `inited == NONE || lookup_handler != this' failed upon DELETE FOR PORTION on table with long unique key
-
- Closed
-
-
MDEV-21540 Initialization of already inited long unique index on reorganize partition
-
- Closed
-
-
MDEV-22184 UNIQUE key with USING HASH clause changes logic for partitioned tables
-
- Open
-
-
MDEV-28095 crash in multi-update and implicit grouping
-
- Closed
-
With InnoDB the same test case causes another assertion failure on a non-debug build:
--source include/have_partition.inc
--source include/have_innodb.inc
# Cleanup
10.5 RelWithDebInfo 5193c1b5
2020-04-30 15:06:48 0x7f65ed361700 InnoDB: Assertion failure in file /data/src/10.5/storage/innobase/row/row0mysql.cc line 1854
InnoDB: Failing assertion: node->pcur->rel_pos == BTR_PCUR_ON
#6 0x0000560c4bca0303 in ut_dbg_assertion_failed (expr=expr@entry=0x560c4c7436d0 "node->pcur->rel_pos == BTR_PCUR_ON", file=file@entry=0x560c4c742f38 "/data/src/10.5/storage/innobase/row/row0mysql.cc", line=line@entry=1854) at /data/src/10.5/storage/innobase/ut/ut0dbg.cc:60
#7 0x0000560c4c2e758f in row_update_for_mysql (prebuilt=0x7f65bc103d50) at /data/src/10.5/storage/innobase/row/row0mysql.cc:1854
#8 0x0000560c4c231e50 in ha_innobase::update_row (this=0x7f65bc0f9550, old_row=0x7f65bc103898 "\361\001", new_row=0x7f65bc103880 "\361\001") at /data/src/10.5/storage/innobase/handler/ha_innodb.cc:8552
#9 0x0000560c4bf839a2 in handler::ha_update_row (this=0x7f65bc0f9550, old_data=old_data@entry=0x7f65bc103898 "\361\001", new_data=new_data@entry=0x7f65bc103880 "\361\001") at /data/src/10.5/sql/handler.cc:7017
#10 0x0000560c4c19126e in ha_partition::update_row (this=0x7f65bc0e97e0, old_data=0x7f65bc103898 "\361\001", new_data=0x7f65bc103880 "\361\001") at /data/src/10.5/sql/ha_partition.cc:4510
#11 0x0000560c4bf83898 in handler::ha_update_row (this=0x7f65bc0e97e0, old_data=0x7f65bc103898 "\361\001", new_data=0x7f65bc103880 "\361\001") at /data/src/10.5/sql/handler.cc:7017
#12 0x0000560c4be3c97b in mysql_update (thd=thd@entry=0x7f65bc0009b8, table_list=<optimized out>, fields=..., values=..., conds=<optimized out>, order_num=<optimized out>, order=<optimized out>, limit=1, ignore=false, found_return=0x7f65ed3600d0, updated_return=0x7f65ed3601a0) at /data/src/10.5/sql/sql_update.cc:1059
#13 0x0000560c4bd99867 in mysql_execute_command (thd=thd@entry=0x7f65bc0009b8) at /data/src/10.5/sql/sql_parse.cc:4370
#14 0x0000560c4bd9ec3b in mysql_parse (thd=thd@entry=0x7f65bc0009b8, rawbuf=<optimized out>, length=28, parser_state=parser_state@entry=0x7f65ed360550, is_com_multi=is_com_multi@entry=false, is_next_command=is_next_command@entry=false) at /data/src/10.5/sql/sql_parse.cc:7957
#15 0x0000560c4bd9480d in dispatch_command (command=command@entry=COM_QUERY, thd=thd@entry=0x7f65bc0009b8, packet=packet@entry=0x7f65bc007c69 "UPDATE t1 SET b = 30 LIMIT 1", packet_length=packet_length@entry=28, is_com_multi=is_com_multi@entry=false, is_next_command=is_next_command@entry=false) at /data/src/10.5/sql/sql_parse.cc:1840
#16 0x0000560c4bd92c61 in do_command (thd=0x7f65bc0009b8) at /data/src/10.5/sql/sql_parse.cc:1359
#17 0x0000560c4be7a7a4 in do_handle_one_connection (connect=<optimized out>, connect@entry=0x560c4f6750e8, put_in_cache=put_in_cache@entry=true) at /data/src/10.5/sql/sql_connect.cc:1422
#18 0x0000560c4be7aaa3 in handle_one_connection (arg=arg@entry=0x560c4f6750e8) at /data/src/10.5/sql/sql_connect.cc:1319
#19 0x0000560c4c194ce4 in pfs_spawn_thread (arg=0x560c4f6d2ea8) at /data/src/10.5/storage/perfschema/pfs.cc:2201
#20 0x00007f65f5d644a4 in start_thread (arg=0x7f65ed361700) at pthread_create.c:456
#21 0x00007f65f3e98d0f in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:97