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

Assertion `rec == page_rec_get_next_const(((page_align(rec)) + page_get_infimum_offset(page_align(rec))))' failed upon upgrade from 10.2.27

    XMLWordPrintable

Details

    Description

      10.3 e5e58777

      mysqld: /data/src/10.3/storage/innobase/btr/btr0btr.cc:3272: void btr_set_min_rec_mark(rec_t*, mtr_t*): Assertion `rec == page_rec_get_next_const(((page_align(rec)) + page_get_infimum_offset(page_align(rec))))' failed.
      191207 18:27:33 [ERROR] mysqld got signal 6 ;
       
      #7  0x00007f1627813f12 in __GI___assert_fail (assertion=0x559e6298b248 "rec == page_rec_get_next_const(((page_align(rec)) + page_get_infimum_offset(page_align(rec))))", file=0x559e62989678 "/data/src/10.3/storage/innobase/btr/btr0btr.cc", line=3272, function=0x559e6298f0a0 <btr_set_min_rec_mark(unsigned char*, mtr_t*)::__PRETTY_FUNCTION__> "void btr_set_min_rec_mark(rec_t*, mtr_t*)") at assert.c:101
      #8  0x0000559e6228d365 in btr_set_min_rec_mark (rec=0x7f1604a67131 "\200", mtr=0x7f1610cda590) at /data/src/10.3/storage/innobase/btr/btr0btr.cc:3272
      #9  0x0000559e6228d26e in btr_parse_set_min_rec_mark (ptr=0x7f1604158398 "\001\061", end_ptr=0x7f160415839a "", comp=1, page=0x7f1604a67000 "\357k\202\261", mtr=0x7f1610cda590) at /data/src/10.3/storage/innobase/btr/btr0btr.cc:3261
      #10 0x0000559e620b43c3 in recv_parse_or_apply_log_rec_body (type=MLOG_COMP_REC_MIN_MARK, ptr=0x7f1604158398 "\001\061", end_ptr=0x7f160415839a "", space_id=6, page_no=14, apply=true, block=0x7f1602ade820, mtr=0x7f1610cda590) at /data/src/10.3/storage/innobase/log/log0recv.cc:1720
      #11 0x0000559e620b60e1 in recv_recover_page (block=0x7f1602ade820, mtr=..., recv_addr=0x7f160413fb10, init_lsn=0) at /data/src/10.3/storage/innobase/log/log0recv.cc:2114
      #12 0x0000559e620b699e in recv_recover_page (bpage=0x7f1602ade820) at /data/src/10.3/storage/innobase/log/log0recv.cc:2234
      #13 0x0000559e622ff9fd in buf_page_io_complete (bpage=0x7f1602ade820, dblwr=true, evict=false) at /data/src/10.3/storage/innobase/buf/buf0buf.cc:6184
      #14 0x0000559e623a6393 in fil_aio_wait (segment=2) at /data/src/10.3/storage/innobase/fil/fil0fil.cc:4504
      #15 0x0000559e6220bf39 in io_handler_thread (arg=0x559e6335b1d0 <n+16>) at /data/src/10.3/storage/innobase/srv/srv0start.cc:326
      #16 0x00007f16293894a4 in start_thread (arg=0x7f1610cdb700) at pthread_create.c:456
      #17 0x00007f16278d0d0f in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:97
      

      A datadir pre-created on 10.2.27 is attached. To reproduce the problem with it, unpack and start the server with innodb-page-size=4K, otherwise defaults.

      To reproduce from scratch:

      git clone https://github.com/MariaDB/randgen --branch mdev21246 rqg-mdev21246 
      cd rqg-mdev21246
      perl ./runall-new.pl --basedir1=<old basedir> --basedir2=<new basedir> --mysqld=--innodb-page-size=4K --grammar=conf/mariadb/oltp-transactional.yy --scenario=CrashUpgrade --duration=30 --gendata-advanced --seed=1575712507 --threads=1 --vardir1=/dev/shm/vardir-mdev21246
      


      Make sure to use the specified RQG branch, it most likely won't work on a different one.
      Remember to set the old and new basedir on the command line above.

      Reproducible with the "old" server up to and including 10.2.27 (also 10.2.6 and several in between).
      Couldn't reproduce with 10.2.28 as the "old" server.
      Couldn't reproduce with 10.3 as the "old" server (tried 10.3.7 and 10.3.13).

      Reproducible with current 10.2-10.4 debug builds as the "new" server. No obvious problem on a non-debug build.

      10.5 debug also fails, but with a different assertion:

      10.5 f5b76d8c

      mysqld: /data/src/10.5/storage/innobase/include/page0page.ic:614: const rec_t* page_rec_get_next_low(const rec_t*, ulint): Assertion `page_rec_is_infimum(rec) || !(rec_get_info_bits(page + offs, comp) & 0x10UL)' failed.
      191207 18:33:56 [ERROR] mysqld got signal 6 ;
       
      #7  0x00007f94ba79cf12 in __GI___assert_fail (assertion=0x55b6bb11c068 "page_rec_is_infimum(rec) || !(rec_get_info_bits(page + offs, comp) & 0x10UL)", file=0x55b6bb11bde0 "/data/src/10.5/storage/innobase/include/page0page.ic", line=614, function=0x55b6bb11d660 <_ZZL21page_rec_get_next_lowPKhmE19__PRETTY_FUNCTION__> "const rec_t* page_rec_get_next_low(const rec_t*, ulint)") at assert.c:101
      #8  0x000055b6ba989cd5 in page_rec_get_next_low (rec=0x7f949995107f "\200", comp=128) at /data/src/10.5/storage/innobase/include/page0page.ic:614
      #9  0x000055b6ba989d13 in page_rec_get_next (rec=0x7f949995107f "\200") at /data/src/10.5/storage/innobase/include/page0page.ic:630
      #10 0x000055b6ba98b10d in page_cur_move_to_next (cur=0x7f94957fcb00) at /data/src/10.5/storage/innobase/include/page0cur.ic:179
      #11 0x000055b6ba99369a in page_cur_delete_rec (cursor=0x7f94957fcb00, index=0x7f9478001e48, offsets=0x7f94957fcb20, mtr=0x7f94957fd3c0) at /data/src/10.5/storage/innobase/page/page0cur.cc:2549
      #12 0x000055b6ba992d2b in page_cur_parse_delete_rec (ptr=0x7f94991d70c8 " r\035\231\224\177", end_ptr=0x7f94991d70c8 " r\035\231\224\177", block=0x7f949814a688, index=0x7f9478001e48, mtr=0x7f94957fd3c0) at /data/src/10.5/storage/innobase/page/page0cur.cc:2407
      #13 0x000055b6ba95d330 in recv_parse_or_apply_log_rec_body (type=MLOG_COMP_REC_DELETE, ptr=0x7f94991d70c6 "", end_ptr=0x7f94991d70c8 " r\035\231\224\177", space_id=6, page_no=14, apply=true, block=0x7f949814a688, mtr=0x7f94957fd3c0) at /data/src/10.5/storage/innobase/log/log0recv.cc:1639
      #14 0x000055b6ba95eb0d in recv_recover_page (block=0x7f949814a688, mtr=..., p={first = {m_space = 6, m_page_no = 14}, second = {state = page_recv_t::RECV_BEING_PROCESSED, log = {head = 0x7f94991c3950, tail = 0x7f9499748f58}}}, init=0x0) at /data/src/10.5/storage/innobase/log/log0recv.cc:1956
      #15 0x000055b6ba95f2f5 in recv_recover_page (bpage=0x7f949814a688) at /data/src/10.5/storage/innobase/log/log0recv.cc:2053
      #16 0x000055b6bab99f07 in buf_page_io_complete (bpage=0x7f949814a688, dblwr=true, evict=false) at /data/src/10.5/storage/innobase/buf/buf0buf.cc:5991
      #17 0x000055b6bac367d4 in fil_aio_callback (cb=0x55b6bd338980) at /data/src/10.5/storage/innobase/fil/fil0fil.cc:4375
      #18 0x000055b6ba97f443 in io_callback (cb=0x55b6bd338980) at /data/src/10.5/storage/innobase/os/os0file.cc:3873
      #19 0x000055b6bacdc6bc in tpool::task_group::execute (this=0x55b6bd305780, t=0x55b6bd338a08) at /data/src/10.5/tpool/task_group.cc:55
      #20 0x000055b6bacdca38 in tpool::task::execute (this=0x55b6bd339638) at /data/src/10.5/tpool/task.cc:32
      #21 0x000055b6bacd6468 in tpool::thread_pool_generic::worker_main (this=0x55b6bd2c59f0, thread_var=0x55b6bd2d5580) at /data/src/10.5/tpool/tpool_generic.cc:504
      #22 0x000055b6bacdc4cd in std::__invoke_impl<void, void (tpool::thread_pool_generic::* const&)(tpool::worker_data*), tpool::thread_pool_generic*, tpool::worker_data*>(std::__invoke_memfun_deref, void (tpool::thread_pool_generic::* const&)(tpool::worker_data*), tpool::thread_pool_generic*&&, tpool::worker_data*&&) (__f=@0x7f948c0008d8: (void (tpool::thread_pool_generic::*)(tpool::thread_pool_generic * const, tpool::worker_data *)) 0x55b6bacd63f6 <tpool::thread_pool_generic::worker_main(tpool::worker_data*)>, __t=<unknown type in /data/bld/10.5-debug-nightly/bin/mysqld, CU 0x654dfc9, DIE 0x655f618>, __args#0=<unknown type in /data/bld/10.5-debug-nightly/bin/mysqld, CU 0x654dfc9, DIE 0x655f624>) at /usr/include/c++/6/functional:227
      #23 0x000055b6bacdc43f in std::__invoke<void (tpool::thread_pool_generic::* const&)(tpool::worker_data*), tpool::thread_pool_generic*, tpool::worker_data*>(void (tpool::thread_pool_generic::* const&)(tpool::worker_data*), tpool::thread_pool_generic*&&, tpool::worker_data*&&) (__fn=@0x7f948c0008d8: (void (tpool::thread_pool_generic::*)(tpool::thread_pool_generic * const, tpool::worker_data *)) 0x55b6bacd63f6 <tpool::thread_pool_generic::worker_main(tpool::worker_data*)>, __args#0=<unknown type in /data/bld/10.5-debug-nightly/bin/mysqld, CU 0x654dfc9, DIE 0x655f618>, __args#1=<unknown type in /data/bld/10.5-debug-nightly/bin/mysqld, CU 0x654dfc9, DIE 0x655f624>) at /usr/include/c++/6/functional:251
      #24 0x000055b6bacdc3d3 in std::_Mem_fn_base<void (tpool::thread_pool_generic::*)(tpool::worker_data*), true>::operator()<tpool::thread_pool_generic*, tpool::worker_data*>(tpool::thread_pool_generic*&&, tpool::worker_data*&&) const (this=0x7f948c0008d8, __args#0=<unknown type in /data/bld/10.5-debug-nightly/bin/mysqld, CU 0x654dfc9, DIE 0x655f618>, __args#1=<unknown type in /data/bld/10.5-debug-nightly/bin/mysqld, CU 0x654dfc9, DIE 0x655f624>) at /usr/include/c++/6/functional:604
      #25 0x000055b6bacdc385 in std::_Bind_simple<std::_Mem_fn<void (tpool::thread_pool_generic::*)(tpool::worker_data*)> (tpool::thread_pool_generic*, tpool::worker_data*)>::_M_invoke<0ul, 1ul>(std::_Index_tuple<0ul, 1ul>) (this=0x7f948c0008c8) at /usr/include/c++/6/functional:1391
      #26 0x000055b6bacdc283 in std::_Bind_simple<std::_Mem_fn<void (tpool::thread_pool_generic::*)(tpool::worker_data*)> (tpool::thread_pool_generic*, tpool::worker_data*)>::operator()() (this=0x7f948c0008c8) at /usr/include/c++/6/functional:1380
      #27 0x000055b6bacdc262 in std::thread::_State_impl<std::_Bind_simple<std::_Mem_fn<void (tpool::thread_pool_generic::*)(tpool::worker_data*)> (tpool::thread_pool_generic*, tpool::worker_data*)> >::_M_run() (this=0x7f948c0008c0) at /usr/include/c++/6/thread:197
      #28 0x00007f94bb0e4e6f in ?? () from /usr/lib/x86_64-linux-gnu/libstdc++.so.6
      #29 0x00007f94bc3124a4 in start_thread (arg=0x7f94957fe700) at pthread_create.c:456
      #30 0x00007f94ba859d0f in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:97
      

      Attachments

        Activity

          People

            marko Marko Mäkelä
            elenst Elena Stepanova
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

              Created:
              Updated:

              Git Integration

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