Details
-
Bug
-
Status: Closed (View Workflow)
-
Major
-
Resolution: Cannot Reproduce
-
10.2.33
Description
Assert hit during RQG testing
|
mysqld: /home/mleich/10.2/storage/innobase/buf/buf0buf.cc:4963: ulint buf_page_optimistic_get(ulint, buf_block_t*, ib_uint64_t, const char*, unsigned int, mtr_t*): Assertion `!ibuf_inside(mtr) || ibuf_page_low(block->page.id, block->page.size, (1), "/home/mleich/10.2/storage/innobase/buf/buf0buf.cc", 4963, __null)' failed.
|
|
(rr) backtrace
|
#0 __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:51
|
#1 0x00002cc7430e4801 in __GI_abort () at abort.c:79
|
#2 0x00002cc7430d439a in __assert_fail_base (fmt=0x2cc74325b7d8 "%s%s%s:%u: %s%sAssertion `%s' failed.\n%n",
|
assertion=assertion@entry=0x5626d1674f98 "!ibuf_inside(mtr) || ibuf_page_low(block->page.id, block->page.size, (1), \"/home/mleich/10.2/storage/innobase/buf/buf0buf.cc\", 4963, __null)",
|
file=file@entry=0x5626d1672d08 "/home/mleich/10.2/storage/innobase/buf/buf0buf.cc", line=line@entry=4963,
|
function=function@entry=0x5626d1678ce0 <buf_page_optimistic_get(unsigned long, buf_block_t*, unsigned long, char const*, unsigned int, mtr_t*)::__PRETTY_FUNCTION__> "ulint buf_page_optimistic_get(ulint, buf_block_t*, ib_uint64_t, const char*, unsigned int, mtr_t*)") at assert.c:92
|
#3 0x00002cc7430d4412 in __GI___assert_fail (assertion=0x5626d1674f98 "!ibuf_inside(mtr) || ibuf_page_low(block->page.id, block->page.size, (1), \"/home/mleich/10.2/storage/innobase/buf/buf0buf.cc\", 4963, __null)",
|
file=0x5626d1672d08 "/home/mleich/10.2/storage/innobase/buf/buf0buf.cc", line=4963,
|
function=0x5626d1678ce0 <buf_page_optimistic_get(unsigned long, buf_block_t*, unsigned long, char const*, unsigned int, mtr_t*)::__PRETTY_FUNCTION__> "ulint buf_page_optimistic_get(ulint, buf_block_t*, ib_uint64_t, const char*, unsigned int, mtr_t*)") at assert.c:101
|
#4 0x00005626d107229d in buf_page_optimistic_get (rw_latch=2, block=0x25c344babf48, modify_clock=151, file=0x5626d15a23a0 "/home/mleich/10.2/storage/innobase/ibuf/ibuf0ibuf.cc", line=4191, mtr=0x7f59b4ff55a0)
|
at /home/mleich/10.2/storage/innobase/buf/buf0buf.cc:4963
|
#5 0x00005626d1036a54 in btr_cur_optimistic_latch_leaves (block=0x25c344babf48, modify_clock=151, latch_mode=0x7f59b4ff49b8, cursor=0x7f59b4ff5320, file=0x5626d15a23a0 "/home/mleich/10.2/storage/innobase/ibuf/ibuf0ibuf.cc", line=4191,
|
mtr=0x7f59b4ff55a0) at /home/mleich/10.2/storage/innobase/btr/btr0cur.cc:422
|
#6 0x00005626d104c576 in btr_pcur_restore_position_func (latch_mode=2, cursor=0x7f59b4ff5320, file=0x5626d15a23a0 "/home/mleich/10.2/storage/innobase/ibuf/ibuf0ibuf.cc", line=4191, mtr=0x7f59b4ff55a0)
|
at /home/mleich/10.2/storage/innobase/btr/btr0pcur.cc:280
|
#7 0x00005626d0e715f2 in ibuf_restore_pos (space=4, page_no=531, search_tuple=0xdd060000e30, mode=2, pcur=0x7f59b4ff5320, mtr=0x7f59b4ff55a0) at /home/mleich/10.2/storage/innobase/ibuf/ibuf0ibuf.cc:4191
|
#8 0x00005626d0e72e34 in ibuf_merge_or_delete_for_page (block=0x25c344b654a0, page_id=..., page_size=0x25c344b654b0, update_ibuf_bitmap=1) at /home/mleich/10.2/storage/innobase/ibuf/ibuf0ibuf.cc:4673
|
#9 0x00005626d1075b4f in buf_page_io_complete (bpage=0x25c344b654a0, dblwr=true, evict=false) at /home/mleich/10.2/storage/innobase/buf/buf0buf.cc:6147
|
#10 0x00005626d10fc9b0 in fil_aio_wait (segment=2) at /home/mleich/10.2/storage/innobase/fil/fil0fil.cc:5165
|
#11 0x00005626d0faf7e2 in io_handler_thread (arg=0x5626d1fed330 <n+16>) at /home/mleich/10.2/storage/innobase/srv/srv0start.cc:332
|
#12 0x00003cd0319816db in start_thread (arg=0x7f59b4ff6700) at pthread_create.c:463
|
#13 0x00002cc7431c588f in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95
|
(rr) frame 5
|
#5 0x00005626d1036a54 in btr_cur_optimistic_latch_leaves (block=0x25c344babf48, modify_clock=151, latch_mode=0x7f59b4ff49b8, cursor=0x7f59b4ff5320, file=0x5626d15a23a0 "/home/mleich/10.2/storage/innobase/ibuf/ibuf0ibuf.cc", line=4191,
|
mtr=0x7f59b4ff55a0) at /home/mleich/10.2/storage/innobase/btr/btr0cur.cc:422
|
422 return(buf_page_optimistic_get(*latch_mode, block,
|
(rr) list
|
417 ulint left_page_no;
|
418
|
419 switch (*latch_mode) {
|
420 case BTR_SEARCH_LEAF:
|
421 case BTR_MODIFY_LEAF:
|
422 return(buf_page_optimistic_get(*latch_mode, block,
|
423 modify_clock, file, line, mtr));
|
424 case BTR_SEARCH_PREV:
|
425 case BTR_MODIFY_PREV:
|
426 mode = *latch_mode == BTR_SEARCH_PREV
|
(rr)
|
|
origin/10.2 7710f28eecc3e9761d7431ae7ae4e88564d706dd 2020-06-15T09:29:17+03:00
|
|
RQG
|
git clone https://github.com/mleich1/rqg --branch experimental RQG
|
origin/experimental 611a31e38a3bc157392c0748c95991b6a248bb3b 2020-06-09T15:31:46+02:00
|
|
perl rqg.pl \
|
--gendata=conf/engines/many_indexes1.zz \
|
--grammar=/home/mleich/RQG_mleich/conf/engines/many_indexes.yy \
|
--reporters=Backtrace,Deadlock1,ErrorLog,None \
|
--validators=None \
|
--mysqld=--innodb_use_native_aio=1 \
|
--mysqld=--innodb_lock_schedule_algorithm=fcfs \
|
--mysqld=--loose-idle_write_transaction_timeout=0 \
|
--mysqld=--loose-idle_transaction_timeout=0 \
|
--mysqld=--loose-idle_readonly_transaction_timeout=0 \
|
--mysqld=--connect_timeout=60 \
|
--mysqld=--interactive_timeout=28800 \
|
--mysqld=--slave_net_timeout=60 \
|
--mysqld=--net_read_timeout=30 \
|
--mysqld=--net_write_timeout=60 \
|
--mysqld=--loose-table_lock_wait_timeout=50 \
|
--mysqld=--wait_timeout=28800 \
|
--mysqld=--lock-wait-timeout=86400 \
|
--mysqld=--innodb-lock-wait-timeout=50 \
|
--no-mask \
|
--queries=10000000 \
|
--duration=100 \
|
--seed=random \
|
--mysqld=--log_output=none \
|
--mysqld=--log-bin \
|
--mysqld=--log_bin_trust_function_creators=1 \
|
--mysqld=--loose-max-statement-time=30 \
|
--mysqld=--loose-debug_assert_on_not_freed_memory=0 \
|
--engine=InnoDB \
|
--restart_timeout=120 \
|
--mysqld=--innodb_stats_persistent=on \
|
--threads=1 \
|
--mysqld=--innodb_page_size=4K \
|
--mysqld=--innodb-buffer-pool-size=5M \
|
--duration=300 \
|
--no_mask \
|
... certain local settings ...
|
|
The likelihood to hit this assert seems to be quite low.
|
STATISTICS 2351 -- 'STATUS_OK'
|
STATISTICS 2 -- 'STATUS_SERVER_CRASHED' In both cases exact the current assert.
|