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

Assertion failure in buf_pool.watch_is_sentinel()

    XMLWordPrintable

Details

    Description

      Observed on buildbot:

      10.6 0ad8a825a8901d4b5e704fed3fc65e93cea18f18

      CURRENT_TEST: encryption.innodb_encryption_tables
      mysqltest: At line 74: query 'update innodb_redundant set c1 = c1 + 1' failed: <Unknown> (2013): Lost connection to server during query
      mariadbd: /home/buildbot/buildbot/build/mariadb-10.6.3/storage/innobase/include/buf0buf.h:1598: bool buf_pool_t::watch_is_sentinel(const buf_page_t&): Assertion `((&(&mutex)->m_mutex)->count > 0 && pthread_equal(pthread_self(), (&(&mutex)->m_mutex)->thread)) || hash_lock_get(bpage.id())->is_locked()' failed.
      #9  0xb6f93d8b in __assert_fail () from /lib/i386-linux-gnu/libc.so.6
      #10 0x80f4d72f in buf_pool_t::watch_is_sentinel (this=0x81d5fd00 <buf_pool>, bpage=...) at /home/buildbot/buildbot/build/mariadb-10.6.3/storage/innobase/include/buf0buf.h:1597
      #11 0x8119231c in buf_page_get_low (page_id=..., zip_size=0, rw_latch=1, guess=0xb090e4a0, mode=10, mtr=0xaaec16a0, err=0xaaec09d4, allow_ibuf_merge=false) at /home/buildbot/buildbot/build/mariadb-10.6.3/storage/innobase/buf/buf0buf.cc:2630
      #12 0x81193854 in buf_page_get_gen (page_id=..., zip_size=0, rw_latch=1, guess=0xb090e4a0, mode=10, mtr=0xaaec16a0, err=0xaaec09d4, allow_ibuf_merge=false) at /home/buildbot/buildbot/build/mariadb-10.6.3/storage/innobase/buf/buf0buf.cc:3111
      #13 0x81157c35 in btr_cur_search_to_nth_level_func (index=0xb052d6a0, level=0, tuple=0xb32d8618, mode=PAGE_CUR_LE, latch_mode=2, cursor=0x842974a8, ahi_latch=0x0, mtr=0xaaec16a0, autoinc=0) at /home/buildbot/buildbot/build/mariadb-10.6.3/storage/innobase/btr/btr0cur.cc:1613
      #14 0x810927b5 in btr_pcur_open_low (index=0xb052d6a0, level=0, tuple=0xb32d8618, mode=PAGE_CUR_LE, latch_mode=2, cursor=0x842974a8, autoinc=0, mtr=0xaaec16a0) at /home/buildbot/buildbot/build/mariadb-10.6.3/storage/innobase/include/btr0pcur.ic:444
      #15 0x810960a1 in row_search_on_row_ref (pcur=0x842974a8, mode=2, table=0xb052cd50, ref=0xb32d8618, mtr=0xaaec16a0) at /home/buildbot/buildbot/build/mariadb-10.6.3/storage/innobase/row/row0row.cc:1215
      #16 0x81088d94 in row_purge_reposition_pcur (mode=2, node=0x84297440, mtr=0xaaec16a0) at /home/buildbot/buildbot/build/mariadb-10.6.3/storage/innobase/row/row0purge.cc:81
      #17 0x8108abcc in row_purge_reset_trx_id (node=0x84297440, mtr=0xaaec16a0) at /home/buildbot/buildbot/build/mariadb-10.6.3/storage/innobase/row/row0purge.cc:760
      

      The code:

        bool watch_is_sentinel(const buf_page_t &bpage)
        {
      #ifdef SAFE_MUTEX
          DBUG_ASSERT(mysql_mutex_is_owner(&mutex) ||
                      hash_lock_get(bpage.id())->is_locked());
      #endif /* SAFE_MUTEX */
      

      We are expected to hold either buf_pool.mutex or the buf_pool.page_hash latch for the page, and apparently that is not the case.

      Attachments

        Issue Links

          Activity

            People

              marko Marko Mäkelä
              marko Marko Mäkelä
              Votes:
              0 Vote for this issue
              Watchers:
              1 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.