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

mysqld: storage/innobase/buf/buf0flu.cc:965: page_id_t buf_flush_check_neighbors(const fil_space_t&, page_id_t&, bool, bool): Assertion `id.page_no() < space.size' failed.

    XMLWordPrintable

    Details

      Description

      origin/bb-10.6-marko d65cd831692d57cd14c7b3630a601dc1f492dd96 2021-11-10T12:16:19+02:00    10.6.6
      but also observed on a bit older development tree like
      origin/bb-10.5-marko 716f04a40f225af11fa88e793441da96dd0ddf21 2021-09-10T11:28:14+03:00
       
      Workflow
      1. Start the server and generate some initial data
      2. Several sessions run a DDL/DML mix
      3. During 2. is ongoing SIGKILL the server process
      4. Restart attempt
      and that could fail with
      # 2021-11-10T11:31:26 [1798871] | [rr 1934929 12418]mysqld: /data/Server/bb-10.6-markoO/storage/innobase/buf/buf0flu.cc:965: page_id_t buf_flush_check_neighbors(const fil_space_t&, page_id_t&, bool, bool): Assertion `id.page_no() < space.size' failed.
      # 2021-11-10T11:31:26 [1798871] | [rr 1934929 12440]211110 11:30:39 [rr 1934929 12442][ERROR] mysqld got signal 6 ;
       
      (rr) bt
      #0  __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:50
      #1  0x000021673bead859 in __GI_abort () at abort.c:79
      #2  0x000021673bead729 in __assert_fail_base (fmt=0x21673c043588 "%s%s%s:%u: %s%sAssertion `%s' failed.\n%n", assertion=0x55d483f296c0 "id.page_no() < space.size", file=0x55d483f27500 "/data/Server/bb-10.6-markoO/storage/innobase/buf/buf0flu.cc", line=965, 
          function=<optimized out>) at assert.c:92
      #3  0x000021673bebef36 in __GI___assert_fail (assertion=0x55d483f296c0 "id.page_no() < space.size", file=0x55d483f27500 "/data/Server/bb-10.6-markoO/storage/innobase/buf/buf0flu.cc", line=965, 
          function=0x55d483f29700 "page_id_t buf_flush_check_neighbors(const fil_space_t&, page_id_t&, bool, bool)") at assert.c:101
      #4  0x000055d482bf7f8a in buf_flush_check_neighbors (space=..., id=..., contiguous=true, lru=false) at /data/Server/bb-10.6-markoO/storage/innobase/buf/buf0flu.cc:965
      #5  0x000055d482bf925b in buf_flush_try_neighbors (space=0x612000023140, page_id=..., contiguous=true, lru=false, n_flushed=292, n_to_flush=2000) at /data/Server/bb-10.6-markoO/storage/innobase/buf/buf0flu.cc:1084
      #6  0x000055d482bfc1c7 in buf_do_flush_list_batch (max_n=2000, lsn=90991129) at /data/Server/bb-10.6-markoO/storage/innobase/buf/buf0flu.cc:1434
      #7  0x000055d482bfc759 in buf_flush_list (max_n=2000, lsn=90991129) at /data/Server/bb-10.6-markoO/storage/innobase/buf/buf0flu.cc:1501
      #8  0x000055d482bfef73 in buf_flush_sync_for_checkpoint (lsn=90991129) at /data/Server/bb-10.6-markoO/storage/innobase/buf/buf0flu.cc:1904
      #9  0x000055d482c01683 in buf_flush_page_cleaner () at /data/Server/bb-10.6-markoO/storage/innobase/buf/buf0flu.cc:2170
      #10 0x000055d482c08c7c in std::__invoke_impl<void, void (*)()> (__f=@0x6020000002d8: 0x55d482c012db <buf_flush_page_cleaner()>) at /usr/include/c++/9/bits/invoke.h:60
      #11 0x000055d482c08bb8 in std::__invoke<void (*)()> (__fn=@0x6020000002d8: 0x55d482c012db <buf_flush_page_cleaner()>) at /usr/include/c++/9/bits/invoke.h:95
      #12 0x000055d482c08ade in std::thread::_Invoker<std::tuple<void (*)()> >::_M_invoke<0ul> (this=0x6020000002d8) at /usr/include/c++/9/thread:244
      #13 0x000055d482c08a5f in std::thread::_Invoker<std::tuple<void (*)()> >::operator() (this=0x6020000002d8) at /usr/include/c++/9/thread:251
      #14 0x000055d482c089c4 in std::thread::_State_impl<std::thread::_Invoker<std::tuple<void (*)()> > >::_M_run (this=0x6020000002d0) at /usr/include/c++/9/thread:195
      #15 0x0000777f75c68d84 in ?? () from /lib/x86_64-linux-gnu/libstdc++.so.6
      #16 0x00005cb55e2f0609 in start_thread (arg=<optimized out>) at pthread_create.c:477
      #17 0x000021673bfaa293 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95
      (rr)
       
      pluto:/data/rqg/results/1636540953/CR-30/dev/shm/rqg/1636540953/154/1/rr
       
      RQG
      ====
      # git clone https://github.com/mleich1/rqg --branch experimental RQG
      #
      # GIT_SHOW: HEAD -> experimental 5d964598d1a7eb7957b1afa9b5950ef927803070 2021-10-29T15:21:01+02:00
      # rqg.pl  : Version 4.0.2 (2021-10)
      #
      # $RQG_HOME/rqg1.pl \
      # --grammar=conf/mariadb/innodb_compression_encryption.yy \
      # --gendata=conf/mariadb/innodb_compression_encryption.zz \
      # --max_gd_duration=1800 \
      # --reporters=CrashRecovery1 \
      # --mysqld=--loose-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 \
      # --seed=random \
      # --reporters=Backtrace \
      # --reporters=ErrorLog \
      # --reporters=Deadlock1 \
      # --validators=None \
      # --mysqld=--log_output=none \
      # --mysqld=--log_bin_trust_function_creators=1 \
      # --mysqld=--loose-debug_assert_on_not_freed_memory=0 \
      # --engine=InnoDB \
      # --restart_timeout=240 \
      # --mysqld=--plugin-load-add=file_key_management.so \
      # --mysqld=--loose-file-key-management-filename=$RQG_HOME/conf/mariadb/encryption_keys.txt \
      # --duration=300 \
      # --mysqld=--loose-innodb_fatal_semaphore_wait_threshold=300 \
      # --mysqld=--loose-innodb_read_only_compressed=OFF \
      # --mysqld=--innodb_stats_persistent=off \
      # --mysqld=--innodb_adaptive_hash_index=on \
      # --mysqld=--loose-innodb_evict_tables_on_commit_debug=off \
      # --mysqld=--loose-max-statement-time=30 \
      # --threads=1 \
      # --mysqld=--innodb-use-native-aio=0 \
      # --rr=Extended \
      # --rr_options=--chaos --wait \
      # --vardir_type=fast \
      # --mysqld=--innodb_page_size=4K \
      # --mysqld=--innodb-buffer-pool-size=256M \
      # --no_mask \
      # <certain local settings>
      

        Attachments

          Issue Links

            Activity

              People

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

                Dates

                Created:
                Updated:
                Resolved:

                  Git Integration