Uploaded image for project: 'MariaDB Server'
  1. MariaDB Server
  2. MDEV-22900

Assertion `!ibuf_inside(mtr) || ibuf_page_low(block->page.id, block->page.size, (1), "storage/innobase/buf/buf0buf.cc", 4963, __null)' failed.

    XMLWordPrintable

Details

    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.
      

      Attachments

        Activity

          People

            marko Marko Mäkelä
            mleich Matthias Leich
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              Git Integration

                Error rendering 'com.xiplink.jira.git.jira_git_plugin:git-issue-webpanel'. Please contact your Jira administrators.