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

Assertion `bpage->in_page_hash' failed in buf_pool_watch_set upon normal upgrade from 10.1

    XMLWordPrintable

    Details

      Description

      Upon upgrade from 10.1, InnoDB sporadically fails to startup with

      10.5 d23c3e03

      mysqld: /data/src/10.5/storage/innobase/buf/buf0buf.cc:2723: buf_page_t* buf_pool_watch_set(page_id_t, rw_lock_t**): Assertion `bpage->in_page_hash' failed.
      200325  0:36:27 [ERROR] mysqld got signal 6 ;
       
      #3  0x00007fc65dbaff12 in __GI___assert_fail (assertion=0x5578057cbd16 "bpage->in_page_hash", file=0x5578057cc350 "/data/src/10.5/storage/innobase/buf/buf0buf.cc", line=2723, 
          function=0x5578057d0e20 <buf_pool_watch_set(page_id_t, rw_lock_t**)::__PRETTY_FUNCTION__> "buf_page_t* buf_pool_watch_set(page_id_t, rw_lock_t**)") at assert.c:101
      #4  0x00005578050e2376 in buf_pool_watch_set (page_id=..., hash_lock=0x7fc6395f9ba0) at /data/src/10.5/storage/innobase/buf/buf0buf.cc:2723
      #5  0x00005578050e491d in buf_page_get_gen (page_id=..., zip_size=0, rw_latch=2, guess=0x0, mode=15, file=0x557805765b48 "/data/src/10.5/storage/innobase/row/row0row.cc", line=1300, mtr=0x7fc6395fb0f0, err=0x7fc6395f9e30, 
          allow_ibuf_merge=true) at /data/src/10.5/storage/innobase/buf/buf0buf.cc:3349
      #6  0x00005578050a2ecf in btr_cur_search_to_nth_level_func (index=0x7fc62c00e988, level=0, tuple=0x7fc62c00a6f8, mode=PAGE_CUR_LE, latch_mode=2, cursor=0x7fc6395fae50, ahi_latch=0x0, 
          file=0x557805765b48 "/data/src/10.5/storage/innobase/row/row0row.cc", line=1300, mtr=0x7fc6395fb0f0, autoinc=0) at /data/src/10.5/storage/innobase/btr/btr0cur.cc:1606
      #7  0x0000557804fb4e4e in btr_pcur_open_low (index=0x7fc62c00e988, level=0, tuple=0x7fc62c00a6f8, mode=PAGE_CUR_LE, latch_mode=8194, cursor=0x7fc6395fae50, file=0x557805765b48 "/data/src/10.5/storage/innobase/row/row0row.cc", 
          line=1300, autoinc=0, mtr=0x7fc6395fb0f0) at /data/src/10.5/storage/innobase/include/btr0pcur.ic:441
      #8  0x0000557804fb8fa4 in row_search_index_entry (index=0x7fc62c00e988, entry=0x7fc62c00a6f8, mode=8194, pcur=0x7fc6395fae50, mtr=0x7fc6395fb0f0) at /data/src/10.5/storage/innobase/row/row0row.cc:1300
      #9  0x0000557804fac8c0 in row_purge_remove_sec_if_poss_leaf (node=0x557809e9e1e8, index=0x7fc62c00e988, entry=0x7fc62c00a6f8) at /data/src/10.5/storage/innobase/row/row0purge.cc:457
      #10 0x0000557804face18 in row_purge_remove_sec_if_poss (node=0x557809e9e1e8, index=0x7fc62c00e988, entry=0x7fc62c00a6f8) at /data/src/10.5/storage/innobase/row/row0purge.cc:569
      #11 0x0000557804fad029 in row_purge_del_mark (node=0x557809e9e1e8) at /data/src/10.5/storage/innobase/row/row0purge.cc:639
      #12 0x0000557804faea4e in row_purge_record_func (node=0x557809e9e1e8, undo_rec=0x557809ea0170 "", thr=0x557809e9e130, updated_extern=false) at /data/src/10.5/storage/innobase/row/row0purge.cc:1048
      #13 0x0000557804faed17 in row_purge (node=0x557809e9e1e8, undo_rec=0x557809ea0170 "", thr=0x557809e9e130) at /data/src/10.5/storage/innobase/row/row0purge.cc:1110
      #14 0x0000557804faee95 in row_purge_step (thr=0x557809e9e130) at /data/src/10.5/storage/innobase/row/row0purge.cc:1159
      #15 0x0000557804f188bd in que_thr_step (thr=0x557809e9e130) at /data/src/10.5/storage/innobase/que/que0que.cc:1038
      #16 0x0000557804f18b54 in que_run_threads_low (thr=0x557809e9e130) at /data/src/10.5/storage/innobase/que/que0que.cc:1100
      #17 0x0000557804f18da4 in que_run_threads (thr=0x557809e9e130) at /data/src/10.5/storage/innobase/que/que0que.cc:1140
      #18 0x0000557804ff6519 in srv_task_execute () at /data/src/10.5/storage/innobase/srv/srv0srv.cc:2055
      #19 0x0000557804ff6ca1 in purge_worker_callback () at /data/src/10.5/storage/innobase/srv/srv0srv.cc:2205
      #20 0x000055780522bbca in tpool::task_group::execute (this=0x557806a503a0 <purge_task_group>, t=0x557806a50160 <purge_worker_task>) at /data/src/10.5/tpool/task_group.cc:55
      #21 0x000055780522bf80 in tpool::task::execute (this=0x557806a50160 <purge_worker_task>) at /data/src/10.5/tpool/task.cc:47
      #22 0x00005578052256a0 in tpool::thread_pool_generic::worker_main (this=0x557807c89b70, thread_var=0x557807c99700) at /data/src/10.5/tpool/tpool_generic.cc:518
      #23 0x000055780522b9db 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=
          @0x7fc650001d68: (void (tpool::thread_pool_generic::*)(tpool::thread_pool_generic * const, tpool::worker_data *)) 0x557805225608 <tpool::thread_pool_generic::worker_main(tpool::worker_data*)>, 
          __t=<unknown type in /data/bld/10.5-daily/bin/mariadbd, CU 0x7fb5ae4, DIE 0x7fc725c>, __args#0=<unknown type in /data/bld/10.5-daily/bin/mariadbd, CU 0x7fb5ae4, DIE 0x7fc7268>) at /usr/include/c++/6/functional:227
      #24 0x000055780522b94d 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=
          @0x7fc650001d68: (void (tpool::thread_pool_generic::*)(tpool::thread_pool_generic * const, tpool::worker_data *)) 0x557805225608 <tpool::thread_pool_generic::worker_main(tpool::worker_data*)>, 
          __args#0=<unknown type in /data/bld/10.5-daily/bin/mariadbd, CU 0x7fb5ae4, DIE 0x7fc725c>, __args#1=<unknown type in /data/bld/10.5-daily/bin/mariadbd, CU 0x7fb5ae4, DIE 0x7fc7268>) at /usr/include/c++/6/functional:251
      #25 0x000055780522b8e1 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=0x7fc650001d68, __args#0=<unknown type in /data/bld/10.5-daily/bin/mariadbd, CU 0x7fb5ae4, DIE 0x7fc725c>, __args#1=<unknown type in /data/bld/10.5-daily/bin/mariadbd, CU 0x7fb5ae4, DIE 0x7fc7268>)
          at /usr/include/c++/6/functional:604
      #26 0x000055780522b893 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=0x7fc650001d58) at /usr/include/c++/6/functional:1391
      #27 0x000055780522b791 in std::_Bind_simple<std::_Mem_fn<void (tpool::thread_pool_generic::*)(tpool::worker_data*)> (tpool::thread_pool_generic*, tpool::worker_data*)>::operator()() (this=0x7fc650001d58)
          at /usr/include/c++/6/functional:1380
      #28 0x000055780522b770 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=0x7fc650001d50)
          at /usr/include/c++/6/thread:197
      #29 0x00007fc65e4f7e6f in ?? () from /usr/lib/x86_64-linux-gnu/libstdc++.so.6
      #30 0x00007fc65fb384a4 in start_thread (arg=0x7fc6395fc700) at pthread_create.c:456
      #31 0x00007fc65dc6cd0f in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:97
      

      The failure can be reproduced by starting the server on the attached datadir numerous times in the loop. The data was created on 10.1.44 release server by running DDL / DML flow and shutting down the server normally at the end. The general and error log are also in the attached archive.
      Startup options:

      --innodb-page-size=4K --innodb-compression-algorithm=none --loose-innodb_log_compressed_pages=on
      

      Couldn't reproduce on 10.4 in reasonable time.

        Attachments

          Issue Links

            Activity

              People

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

                Dates

                Created:
                Updated:
                Resolved: