Details
-
Bug
-
Status: Closed (View Workflow)
-
Major
-
Resolution: Fixed
-
10.5, 10.3(EOL), 10.4(EOL)
Description
Assertion `mode == 16 || mode == 12 || !fix_block->page.file_page_was_freed' failed in buf_page_get_low
It looks like all previous bugs with this assertion failure are closed at the moment.
I'm not sure whether the problem is really versioning-specific, but I couldn't get rid of versioning in the test case.
--source include/have_innodb.inc
|
|
CREATE TABLE t1 ( |
pk INT PRIMARY KEY, |
f1 INT, |
f2 INT, |
f3 TEXT,
|
KEY(f1), |
FULLTEXT(f3),
|
KEY(f3(10)), |
FOREIGN KEY (f2) REFERENCES t1 (f1) ON DELETE SET NULL |
) ENGINE=InnoDB WITH SYSTEM VERSIONING; |
INSERT INTO t1 VALUES (1,8,8,'a'), (2,8,8,REPEAT('b',8071)); |
|
--error ER_FOREIGN_DUPLICATE_KEY_WITH_CHILD_INFO
|
DELETE FROM t1; |
SELECT * FROM t1; |
|
# Cleanup
|
DROP TABLE t1; |
10.3 caa35f8e |
2020-09-01 16:55:52 9 [ERROR] InnoDB: Duplicate FTS_DOC_ID value on table `test`.`t1`
|
mysqld: /data/src/10.3/storage/innobase/buf/buf0buf.cc:4879: buf_block_t* buf_page_get_low(page_id_t, const page_size_t&, ulint, buf_block_t*, ulint, const char*, unsigned int, mtr_t*, dberr_t*): Assertion `mode == 16 || mode == 12 || !fix_block->page.file_page_was_freed' failed.
|
200901 16:55:52 [ERROR] mysqld got signal 6 ;
|
|
#7 0x00007f6329c77f12 in __GI___assert_fail (assertion=0x55fd98b16df8 "mode == 16 || mode == 12 || !fix_block->page.file_page_was_freed", file=0x55fd98b14d18 "/data/src/10.3/storage/innobase/buf/buf0buf.cc", line=4879, function=0x55fd98b1aae0 <buf_page_get_low(page_id_t, page_size_t const&, unsigned long, buf_block_t*, unsigned long, char const*, unsigned int, mtr_t*, dberr_t*)::__PRETTY_FUNCTION__> "buf_block_t* buf_page_get_low(page_id_t, const page_size_t&, ulint, buf_block_t*, ulint, const char*, unsigned int, mtr_t*, dberr_t*)") at assert.c:101
|
#8 0x000055fd98437bc9 in buf_page_get_low (page_id=..., page_size=..., rw_latch=1, guess=0x0, mode=10, file=0x55fd98affa80 "/data/src/10.3/storage/innobase/btr/btr0cur.cc", line=7991, mtr=0x7f6324073d70, err=0x0) at /data/src/10.3/storage/innobase/buf/buf0buf.cc:4879
|
#9 0x000055fd9843802b in buf_page_get_gen (page_id=..., page_size=..., rw_latch=1, guess=0x0, mode=10, file=0x55fd98affa80 "/data/src/10.3/storage/innobase/btr/btr0cur.cc", line=7991, mtr=0x7f6324073d70, err=0x0) at /data/src/10.3/storage/innobase/buf/buf0buf.cc:4974
|
#10 0x000055fd984017cd in btr_copy_blob_prefix (buf=0x7f62d0049670 "a", '\217' <repeats 199 times>..., len=8071, space_id=5, page_no=8, offset=38) at /data/src/10.3/storage/innobase/btr/btr0cur.cc:7991
|
#11 0x000055fd984022dc in btr_copy_externally_stored_field_prefix_low (buf=0x7f62d0049670 "a", '\217' <repeats 199 times>..., len=8071, page_size=..., space_id=5, page_no=8, offset=38) at /data/src/10.3/storage/innobase/btr/btr0cur.cc:8201
|
#12 0x000055fd98402571 in btr_copy_externally_stored_field (len=0x7f6324074390, data=0x7f631f4e40d7 "", page_size=..., local_len=0, heap=0x7f62d00495f0) at /data/src/10.3/storage/innobase/btr/btr0cur.cc:8307
|
#13 0x000055fd98402691 in btr_rec_copy_externally_stored_field (rec=0x7f631f4e40b7 "\200", offsets=0x7f6324074610, page_size=..., no=6, len=0x7f6324074390, heap=0x7f62d00495f0) at /data/src/10.3/storage/innobase/btr/btr0cur.cc:8363
|
#14 0x000055fd98305828 in row_sel_store_mysql_field (mysql_rec=0x7f62d00082a0 "\370\002", prebuilt=0x7f62d0040f00, rec=0x7f631f4e40b7 "\200", index=0x7f62d00a5a30, offsets=0x7f6324074610, field_no=6, templ=0x7f62d000a730) at /data/src/10.3/storage/innobase/row/row0sel.cc:2959
|
#15 0x000055fd98306295 in row_sel_store_mysql_rec (mysql_rec=0x7f62d00082a0 "\370\002", prebuilt=0x7f62d0040f00, rec=0x7f631f4e40b7 "\200", vrow=0x0, rec_clust=false, index=0x7f62d00a5a30, offsets=0x7f6324074610) at /data/src/10.3/storage/innobase/row/row0sel.cc:3168
|
#16 0x000055fd9830cad6 in row_search_mvcc (buf=0x7f62d00082a0 "\370\002", mode=PAGE_CUR_G, prebuilt=0x7f62d0040f00, match_mode=0, direction=1) at /data/src/10.3/storage/innobase/row/row0sel.cc:5486
|
#17 0x000055fd98129bb8 in ha_innobase::general_fetch (this=0x7f62d000c248, buf=0x7f62d00082a0 "\370\002", direction=1, match_mode=0) at /data/src/10.3/storage/innobase/handler/ha_innodb.cc:9502
|
#18 0x000055fd9812a13c in ha_innobase::rnd_next (this=0x7f62d000c248, buf=0x7f62d00082a0 "\370\002") at /data/src/10.3/storage/innobase/handler/ha_innodb.cc:9711
|
#19 0x000055fd97efa764 in handler::ha_rnd_next (this=0x7f62d000c248, buf=0x7f62d00082a0 "\370\002") at /data/src/10.3/sql/handler.cc:2847
|
#20 0x000055fd9808c56b in rr_sequential (info=0x7f62d0015760) at /data/src/10.3/sql/records.cc:485
|
#21 0x000055fd97b378fd in READ_RECORD::read_record (this=0x7f62d0015760) at /data/src/10.3/sql/records.h:70
|
#22 0x000055fd97c518e8 in sub_select (join=0x7f62d0013160, join_tab=0x7f62d0015698, end_of_records=false) at /data/src/10.3/sql/sql_select.cc:19733
|
#23 0x000055fd97c50d03 in do_select (join=0x7f62d0013160, procedure=0x0) at /data/src/10.3/sql/sql_select.cc:19254
|
#24 0x000055fd97c27c29 in JOIN::exec_inner (this=0x7f62d0013160) at /data/src/10.3/sql/sql_select.cc:4116
|
#25 0x000055fd97c26ffc in JOIN::exec (this=0x7f62d0013160) at /data/src/10.3/sql/sql_select.cc:3910
|
#26 0x000055fd97c2830d in mysql_select (thd=0x7f62d0000af0, tables=0x7f62d0012a08, wild_num=1, fields=..., conds=0x0, og_num=0, order=0x0, group=0x0, having=0x0, proc_param=0x0, select_options=2147748608, result=0x7f62d0013138, unit=0x7f62d00049b8, select_lex=0x7f62d0005140) at /data/src/10.3/sql/sql_select.cc:4315
|
#27 0x000055fd97c198e2 in handle_select (thd=0x7f62d0000af0, lex=0x7f62d00048f8, result=0x7f62d0013138, setup_tables_done_option=0) at /data/src/10.3/sql/sql_select.cc:370
|
#28 0x000055fd97be11fc in execute_sqlcom_select (thd=0x7f62d0000af0, all_tables=0x7f62d0012a08) at /data/src/10.3/sql/sql_parse.cc:6286
|
#29 0x000055fd97bd794f in mysql_execute_command (thd=0x7f62d0000af0) at /data/src/10.3/sql/sql_parse.cc:3812
|
#30 0x000055fd97be5507 in mysql_parse (thd=0x7f62d0000af0, rawbuf=0x7f62d0012818 "SELECT * FROM t1", length=16, parser_state=0x7f63240765e0, is_com_multi=false, is_next_command=false) at /data/src/10.3/sql/sql_parse.cc:7810
|
#31 0x000055fd97bd1d4e in dispatch_command (command=COM_QUERY, thd=0x7f62d0000af0, packet=0x7f62d0165811 "", packet_length=16, is_com_multi=false, is_next_command=false) at /data/src/10.3/sql/sql_parse.cc:1848
|
#32 0x000055fd97bd0666 in do_command (thd=0x7f62d0000af0) at /data/src/10.3/sql/sql_parse.cc:1393
|
#33 0x000055fd97d49f57 in do_handle_one_connection (connect=0x55fd9a59be80) at /data/src/10.3/sql/sql_connect.cc:1403
|
#34 0x000055fd97d49cb9 in handle_one_connection (arg=0x55fd9a59be80) at /data/src/10.3/sql/sql_connect.cc:1308
|
#35 0x000055fd98701e60 in pfs_spawn_thread (arg=0x55fd9a5b6e30) at /data/src/10.3/storage/perfschema/pfs.cc:1869
|
#36 0x00007f632bc004a4 in start_thread (arg=0x7f6324077700) at pthread_create.c:456
|
#37 0x00007f6329d34d0f in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:97
|
Reproducible on 10.3+.
The test case is not applicable to earlier versions due to system versioning.
Non-debug builds produce the same ER_FOREIGN_DUPLICATE_KEY_WITH_CHILD_INFO upon DELETE (I'm not sure whether it's legit), but no crash.
Attachments
Issue Links
- blocks
-
MDEV-23446 UPDATE does not insert history row if the row is not changed
- Closed
- causes
-
MDEV-29813 REPLACE/IGNORE does not work with historical records in InnoDB
- Closed
- is blocked by
-
MDEV-21138 Assertion `col->ord_part' or `f.col->ord_part' failed in row_build_index_entry_low, assertion: buf != field_ref_zero in row_merge_buf_add
- Closed
- relates to
-
MDEV-15364 FOREIGN CASCADE operations in system versioned referenced tables
- Closed
-
MDEV-25004 Missing row in FTS_DOC_ID_INDEX during DELETE HISTORY
- Closed
-
MDEV-30528 Assertion `!mbmaxlen || !(prefix_len % mbmaxlen)' failed in dtype_get_at_most_n_mbchars
- Closed
-
MDEV-20903 Assertion `dict_index_is_clust(index)' failed in row_ins_index_entry_set_vals
- Closed