Details
-
Bug
-
Status: Open (View Workflow)
-
Major
-
Resolution: Unresolved
-
10.4(EOL), 10.5
Description
It is currently reproducible on every attempt for me, but technically the test case is non-deterministic, try to run with --repeat if it doesn't fail right away.
--source include/have_innodb.inc
|
|
CREATE TABLE t1 (a VARCHAR(10), b INT) ENGINE=InnoDB; |
INSERT INTO t1 VALUES ('foo',NULL),('a',NULL),('bar',NULL); |
|
CREATE TABLE t2 (f TEXT UNIQUE) ENGINE=InnoDB; |
INSERT INTO t2 VALUES ('baz'), ('qux'); |
UPDATE IGNORE t1 JOIN t2 SET t2.f = t1.a; |
UPDATE IGNORE t1 JOIN t2 SET t2.f = t1.a; |
DELETE FROM t2; |
|
--connect (con1,localhost,root,,test)
|
--send
|
INSERT INTO t2 () VALUES (); |
|
--connection default
|
CHECK TABLE t2; |
|
# Cleanup
|
--connection con1
|
--reap
|
--disconnect con1
|
--connection default
|
DROP TABLE t1, t2; |
10.4 non-debug 956f21c3 |
2020-07-19 14:23:31 9 [ERROR] InnoDB: Flagged corruption of `f` in table `test`.`t2` in CHECK TABLE; Wrong count
|
10.4 debug 956f21c3 |
2020-07-19 14:25:08 9 [ERROR] InnoDB: Clustered record for sec rec not found index `f` of table `test`.`t2`
|
InnoDB: sec index record PHYSICAL RECORD: n_fields 2; compact format; info bits 0
|
0: len 8; hex 010e010e19505998; asc PY ;;
|
1: len 6; hex 000000000203; asc ;;
|
|
InnoDB: clust index record PHYSICAL RECORD: n_fields 1; compact format; info bits 0
|
0: len 8; hex 696e66696d756d00; asc infimum ;;
|
|
TRANSACTION 421930385908032, ACTIVE 0 sec starting index read
|
mysql tables in use 1, locked 1
|
0 lock struct(s), heap size 1152, 0 row lock(s)
|
MySQL thread id 9, OS thread handle 140455398090496, query id 30 localhost root Executing
|
CHECK TABLE t2
|
|
InnoDB: Submit a detailed bug report to https://jira.mariadb.org/
|
mysqld: /data/src/10.4/storage/innobase/row/row0sel.cc:3357: dberr_t Row_sel_get_clust_rec_for_mysql::operator()(row_prebuilt_t*, dict_index_t*, const rec_t*, que_thr_t*, const rec_t**, rec_offs**, mem_heap_t**, dtuple_t**, mtr_t*): Assertion `0' failed.
|
|
#7 0x00007fbe5ce1af12 in __GI___assert_fail (assertion=0x55bca34ad41b "0", file=0x55bca34ad0d0 "/data/src/10.4/storage/innobase/row/row0sel.cc", line=3357, function=0x55bca34b0d60 <Row_sel_get_clust_rec_for_mysql::operator()(row_prebuilt_t*, dict_index_t*, unsigned char const*, que_thr_t*, unsigned char const**, unsigned short**, mem_block_info_t**, dtuple_t**, mtr_t*)::__PRETTY_FUNCTION__> "dberr_t Row_sel_get_clust_rec_for_mysql::operator()(row_prebuilt_t*, dict_index_t*, const rec_t*, que_thr_t*, const rec_t**, rec_offs**, mem_heap_t**, dtuple_t**, mtr_t*)") at assert.c:101
|
#8 0x000055bca2c9d567 in Row_sel_get_clust_rec_for_mysql::operator() (this=0x7fbe521bf070, prebuilt=0x7fbe0c070e20, sec_index=0x7fbe0c06ac10, rec=0x7fbe5299c0a6 "\001\016\001\016\031PY\230", thr=0x7fbe0c071510, out_rec=0x7fbe521bef78, offsets=0x7fbe521bef98, offset_heap=0x7fbe521bef90, vrow=0x0, mtr=0x7fbe521bf900) at /data/src/10.4/storage/innobase/row/row0sel.cc:3357
|
#9 0x000055bca2ca2fbb in row_search_mvcc (buf=0x7fbe0c076730 "\350\a", mode=PAGE_CUR_G, prebuilt=0x7fbe0c070e20, match_mode=0, direction=0) at /data/src/10.4/storage/innobase/row/row0sel.cc:5289
|
#10 0x000055bca2c53b3f in row_search_for_mysql (buf=0x7fbe0c076730 "\350\a", mode=PAGE_CUR_G, prebuilt=0x7fbe0c070e20, match_mode=0, direction=0) at /data/src/10.4/storage/innobase/include/row0sel.ic:137
|
#11 0x000055bca2c5fe02 in row_scan_index_for_mysql (prebuilt=0x7fbe0c070e20, index=0x7fbe0c06ac10, n_rows=0x7fbe521c02f0) at /data/src/10.4/storage/innobase/row/row0mysql.cc:4718
|
#12 0x000055bca2abd11e in ha_innobase::check (this=0x7fbe0c070628, thd=0x7fbe0c000af0, check_opt=0x7fbe0c005cc8) at /data/src/10.4/storage/innobase/handler/ha_innodb.cc:14836
|
#13 0x000055bca286ade2 in handler::ha_check (this=0x7fbe0c070628, thd=0x7fbe0c000af0, check_opt=0x7fbe0c005cc8) at /data/src/10.4/sql/handler.cc:4323
|
#14 0x000055bca269e5a2 in mysql_admin_table(THD *, TABLE_LIST *, HA_CHECK_OPT *, const char *, thr_lock_type, bool, bool, uint, int (*)(THD *, TABLE_LIST *, HA_CHECK_OPT *), struct {...}, int (*)(THD *, TABLE_LIST *, HA_CHECK_OPT *)) (thd=0x7fbe0c000af0, tables=0x7fbe0c013250, check_opt=0x7fbe0c005cc8, operator_name=0x55bca324866c "check", lock_type=TL_READ_NO_INSERT, org_open_for_modify=false, repair_table_use_frm=false, extra_open_options=32, prepare_func=0x0, operator_func=(int (handler::*)(handler * const, THD *, HA_CHECK_OPT *)) 0x55bca286ac24 <handler::ha_check(THD*, st_ha_check_opt*)>, view_operator_func=0x55bca2626402 <view_check(THD*, TABLE_LIST*, st_ha_check_opt*)>) at /data/src/10.4/sql/sql_admin.cc:781
|
#15 0x000055bca26a090c in Sql_cmd_check_table::execute (this=0x7fbe0c013918, thd=0x7fbe0c000af0) at /data/src/10.4/sql/sql_admin.cc:1348
|
#16 0x000055bca251033e in mysql_execute_command (thd=0x7fbe0c000af0) at /data/src/10.4/sql/sql_parse.cc:6099
|
#17 0x000055bca251582f in mysql_parse (thd=0x7fbe0c000af0, rawbuf=0x7fbe0c013198 "CHECK TABLE t2", length=14, parser_state=0x7fbe521c1570, is_com_multi=false, is_next_command=false) at /data/src/10.4/sql/sql_parse.cc:7899
|
#18 0x000055bca2501d64 in dispatch_command (command=COM_QUERY, thd=0x7fbe0c000af0, packet=0x7fbe0c0083a1 "", packet_length=14, is_com_multi=false, is_next_command=false) at /data/src/10.4/sql/sql_parse.cc:1834
|
#19 0x000055bca2500506 in do_command (thd=0x7fbe0c000af0) at /data/src/10.4/sql/sql_parse.cc:1352
|
#20 0x000055bca26895c4 in do_handle_one_connection (connect=0x55bca694f880) at /data/src/10.4/sql/sql_connect.cc:1412
|
#21 0x000055bca2689313 in handle_one_connection (arg=0x55bca694f880) at /data/src/10.4/sql/sql_connect.cc:1316
|
#22 0x000055bca3088c93 in pfs_spawn_thread (arg=0x55bca686d6f0) at /data/src/10.4/storage/perfschema/pfs.cc:1869
|
#23 0x00007fbe5eda34a4 in start_thread (arg=0x7fbe521c2700) at pthread_create.c:456
|
#24 0x00007fbe5ced7d0f in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:97
|
Reproducible on 10.4, 10.5, debug and non-debug builds are affected as described above.
The test case is not applicable to earlier versions due to the unique blob.
Couldn't reproduce after replacing the unique blob with text as (left (b , 20)) invisible structure.
Attachments
Issue Links
- is caused by
-
MDEV-371 Unique indexes for blobs
- Closed