midenok / mariadb

MariaDB server is a community developed fork of MySQL server. Started by core members of the original MySQL team, MariaDB actively works with outside developers to deliver the most featureful, stable, and sanely licensed open SQL server in the industry.
GNU General Public License v2.0
0 stars 0 forks source link

MDEV-21137 Assertion `mode == 16 || mode == 12 || !fix_block->page.file_page_was_freed' failed in buf_page_get_gen #63

Closed midenok closed 3 years ago

midenok commented 5 years ago

Reproduce

--source include/have_innodb.inc

create or replace table t1 (
    f1 int, f2 text, f3 int, fulltext ftidx(f2),
    key idx (f1), foreign key (f3) references t1 (f1) on delete set null)
with system versioning engine=innodb;

set system_versioning_alter_history= keep;
alter table t1 drop key ftidx;
insert into t1 values (1,repeat('a',8193),1), (1,repeat('b',8193),1);
--error ER_FOREIGN_DUPLICATE_KEY_WITH_CHILD_INFO
delete from t1;
alter table t1 add fulltext ftidx(f2);

drop table t1;

Result

#6  0x00007effcbeb540f in __assert_fail_base (fmt=0x7effcc043588 "%s%s%s:%u: %s%sAssertion `%s' failed.\n%n", assertion=0x1775c3d "mode == 16 || mode == 12 || !fix_block->page.file_page_was_freed", file=0x17748c8 "/home/midenok/src/mariadb/10.3/src/storage/innobase/buf/buf0buf.cc", line=4891, function=<optimized out>) at assert.c:92
#7  0x00007effcbec5012 in __GI___assert_fail (assertion=0x1775c3d "mode == 16 || mode == 12 || !fix_block->page.file_page_was_freed", file=0x17748c8 "/home/midenok/src/mariadb/10.3/src/storage/innobase/buf/buf0buf.cc", line=4891, function=0x1775867 "buf_block_t *buf_page_get_gen(const 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  0x000000000114a1c7 in buf_page_get_gen (page_id=..., page_size=..., rw_latch=1, guess=0x0, mode=10, file=0x176e9f0 "/home/midenok/src/mariadb/10.3/src/storage/innobase/btr/btr0cur.cc", line=8068, mtr=0x7eff98ff8290, err=0x0) at /home/midenok/src/mariadb/10.3/src/storage/innobase/buf/buf0buf.cc:4889
#9  0x0000000001119dbe in btr_copy_blob_prefix (buf=0x7eff64000e38 "", len=8193, space_id=5, page_no=8, offset=38) at /home/midenok/src/mariadb/10.3/src/storage/innobase/btr/btr0cur.cc:8067
#10 0x0000000001112d4d in btr_copy_externally_stored_field_prefix_low (buf=0x7eff64000e38 "", len=8193, page_size=..., space_id=5, page_no=8, offset=38) at /home/midenok/src/mariadb/10.3/src/storage/innobase/btr/btr0cur.cc:8277
#11 0x0000000001112e80 in btr_copy_externally_stored_field (len=0x7eff98ff8da0, data=0x7eff70079440 "", page_size=..., local_len=0, heap=0x7eff64000b20) at /home/midenok/src/mariadb/10.3/src/storage/innobase/btr/btr0cur.cc:8384
#12 0x0000000000f4cf86 in fts_parallel_tokenization (arg=0x7eff70107be0) at /home/midenok/src/mariadb/10.3/src/storage/innobase/row/row0ftsort.cc:837
#13 0x00007effcc949182 in start_thread (arg=<optimized out>) at pthread_create.c:486
#14 0x00007effcbfadb1f in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95
midenok commented 3 years ago

Duplicate of MDEV-21138 #68